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

 

 

你可能感兴趣的:(c语言和汇编语言的区别)