单片机交流
登录
直播中
徐伟
7年用户
897经验值
私信
关注
[问答]
C语言和汇编语言的优缺点是什么?
开启该帖子的消息推送
什么是c语言?
什么是汇编语言?
C语言和汇编语言的优缺点是什么?
回帖
(1)
寇亦青
2021-10-14 11:32:43
什么是c语言:
C
语言是一门通用
计算机编程语言
,应用广泛。C语言的设计目标是提供一种能以简易的方式
编译
、处理低级
存储器
、产生少量的
机器码
以及不需要任何运行环境支持便能运行的编程语言;尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式
处理器
(单片机或称
MCU
)以及超级电脑等作业平台。
什么是汇编语言:
汇编语言(assembly language)是一种用于
电子计算机
、
微处理器
、
微控制器
或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用
助记符
(Mnemonics)代替
机器指令
的
操作码
,用地址符号(Symbol)或标号(Label)代替指令或
操作数
的地址。在不同的设备中,汇编语言对应着不同的机器语言
指令集
,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。 [1]
许多汇编程序为程序开发、
汇编
控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。
汇编语言不像其他大多数的
程序设计语言
一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。
C语言和汇编语言的优缺点:以c来举例
优点:
1.c的运行效率高;
2.c可以实现硬件的直接访问;
3.c代码的移植性好;
缺点:
1.c的代码复用性差;
2.c的代码维护性差;
3.c的扩展性差,即如果想增加新功能,需要修改较多的代码;
4.c语言的可读性差;
至于汇编语言的优缺点基本和c的优缺点相反;
c和汇编的选择:
1.若只有较简单的逻辑操作、逻辑算法、简单运算,使用汇编会得到较为精准的代码,但用c也同样可以做到。
2.若掺有复杂运算、浮点运算、非线性方程等,汇编恐怕无能为力了(最起码难度很大)。
3.单片机种类繁多,各自的汇编语法大都不一样,若仅使用汇编,可扩充性、可移植性都很差,用c就会好的多。
简单地说,很小的程序,主要是硬件简单控制的可以用汇编,
稍微复杂一点尤其是牵涉到一些计算或者管理等方面的最好用c 。
而现在随着技术的发展,面向程序员的高级语言比面向CPU的汇编语言好用得,在硬件条件允许的情况下,程序员当然选择用高级语言编程,不旦提高了编程效率,也提高了代码的可维护性,并且十分有利于编写大型的工程。
c
什么是c语言:
C
语言是一门通用
计算机编程语言
,应用广泛。C语言的设计目标是提供一种能以简易的方式
编译
、处理低级
存储器
、产生少量的
机器码
以及不需要任何运行环境支持便能运行的编程语言;尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式
处理器
(单片机或称
MCU
)以及超级电脑等作业平台。
什么是汇编语言:
汇编语言(assembly language)是一种用于
电子计算机
、
微处理器
、
微控制器
或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用
助记符
(Mnemonics)代替
机器指令
的
操作码
,用地址符号(Symbol)或标号(Label)代替指令或
操作数
的地址。在不同的设备中,汇编语言对应着不同的机器语言
指令集
,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。 [1]
许多汇编程序为程序开发、
汇编
控制、辅助调试提供了额外的支持机制。有的汇编语言编程工具经常会提供宏,它们也被称为宏汇编器。
汇编语言不像其他大多数的
程序设计语言
一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作和高要求的程序优化的场合。驱动程序、嵌入式操作系统和实时运行程序都需要汇编语言。
C语言和汇编语言的优缺点:以c来举例
优点:
1.c的运行效率高;
2.c可以实现硬件的直接访问;
3.c代码的移植性好;
缺点:
1.c的代码复用性差;
2.c的代码维护性差;
3.c的扩展性差,即如果想增加新功能,需要修改较多的代码;
4.c语言的可读性差;
至于汇编语言的优缺点基本和c的优缺点相反;
c和汇编的选择:
1.若只有较简单的逻辑操作、逻辑算法、简单运算,使用汇编会得到较为精准的代码,但用c也同样可以做到。
2.若掺有复杂运算、浮点运算、非线性方程等,汇编恐怕无能为力了(最起码难度很大)。
3.单片机种类繁多,各自的汇编语法大都不一样,若仅使用汇编,可扩充性、可移植性都很差,用c就会好的多。
简单地说,很小的程序,主要是硬件简单控制的可以用汇编,
稍微复杂一点尤其是牵涉到一些计算或者管理等方面的最好用c 。
而现在随着技术的发展,面向程序员的高级语言比面向CPU的汇编语言好用得,在硬件条件允许的情况下,程序员当然选择用高级语言编程,不旦提高了编程效率,也提高了代码的可维护性,并且十分有利于编写大型的工程。
c
举报
更多回帖
rotate(-90deg);
回复
相关问答
请问
C
语言和
汇编语言
在开发单片机时各有哪些
优缺点
?
2023-10-26
274
请问
C
语言和
汇编语言
在开发单片机时各有哪些
优缺点
?
2023-10-30
196
C
语言和
汇编语言
在开发单片机时各有哪些
优缺点
?
2021-10-19
1752
请问
C
语言和
汇编语言
进行单片机设计那个比较好?
2020-03-11
1778
请问
汇编语言和
C
语言
哪个好用些
2019-04-23
2367
请问
C
语言和
汇编语言
在单片机应用上各有什么优点?
2019-03-29
2722
汇编语言和
C
语言
哪个好用一点?
2023-10-25
318
求,
汇编语言
转成
C
语言
的软件?
2012-05-09
3446
请问.
C
语言
中可以嵌套
汇编语言
吗?
2019-09-20
1728
初学者到底是应该先学
C
还是
汇编
?
2022-02-16
1568
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分