• 技术文章 >后端开发 >C#.Net教程

    汇编语言和c语言的区别有哪些

    青灯夜游青灯夜游2021-09-23 16:09:39原创566

    区别:1、汇编语言效率高,C语言效率比较低;2、汇编语言对硬件的可操控性强,C语言硬件可操控性比较差;3、汇编语言目标代码体积小,C语言目标代码体积大;4、汇编语言不易维护,C语言容易维护;5、汇编语言可移植性很差,C语言可移植性很好等。

    本教程操作环境:windows7系统、c99版本、Dell G3电脑。

    汇编语言和c语言的区别

    1、效率不同

    汇编效率高,C语言效率比较低。

    2、对硬件的可操控性不同

    汇编对硬件的可操控性强,C语言硬件可操控性比较差。

    3、代码体积大小不同

    汇编目标代码体积小,C语言目标代码体积大。

    4、维护性不同

    汇编不易维护,C语言容易维护。

    5、可移植性不同

    汇编可移植性很差,C语言可移植性很好。

    6、学习难度不同

    汇编语言所需要的编绘知识很多很复杂,经常被开发者使用。而C语言是一门很简单方便的语言,编程者也就不需要有太多的专业知识。

    扩展知识:

    汇编语言运行效率高的原因:

    1、汇编语言实质上是机器语言的助记符。

    CPU只能运行它所支持的指令集,而这些指令集当中的每条指令都是一些二进制数的序列,也就是“0”和“1”的有序组合;“0”和“1”的组合不便于程序员的记忆因此有了“MOV A 0x40”等这样的助记符。

    所以汇编语言编译成CPU可执行的机器语言其实只要做一个翻译的动作就好了。而C语言编写完程序后,需要通过编译器将C语言编译成与相应CPU指令集对应的机器语言。

    汇编语言与机器语言是一一对应的。但是C语言呢?当然没这么好事了。

    C语言的语法是固定的,C语言编写的程序要编译成CPU能读懂的机器语言指令没办法一一对应,因此需要有编译规则了,所以运行效率低一些。也可以说,C语言,是面向程序员的语言,而汇编语言是直接面向CPU的语言。

    2、汇编是直接面对CPU的语言,只要是在指令集支持的范围内,汇编语言可以直接而灵活地管理包括特殊功能寄存器、通用寄存器、存储单元的每一个字节,甚至是每一个bit。

    C语言对内存的使用及管理功能也是很强大的,但毕竟还是受制于语法。举个最简单的例子,C语言当中没有对应三字节或是五字节的变量类型,要么int型,要么long型,所以每次申请必须是固定的字节数,势必造成内存使用上的浪费。

    而大部份汇编语言根本没有这样的语法,在伪指令的帮助下(其实也只是提高可读性),汇编语言程序可以使用任意字节数的变量,当然处理起来比C语言麻烦得多,最终还是一个字节一个字节地拼接处理,而用C语言写程序就轻松了,不用管这些,最终编译器会搞定嘛。

    而轻松的代价就是造成了浪费。而内存使用效率不高同时也会影响到整个程序的整体效率。

    更多相关知识,请关注 PHP中文网!!

    以上就是汇编语言和c语言的区别有哪些的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:汇编语言 c语言
    上一篇:抢占式优先级调度算法是什么意思 下一篇:c程序是由什么构成
    大前端线上培训班

    相关文章推荐

    • 机器语言、汇编语言、高级语言各有什么特点• 将汇编语言源程序转换成等价的目标程序的过程称为什么• c语言中用户标识符是指什么• C语言中二维数组在内存中的存放顺序是什么• c语言文件的读取和写入怎么操作

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网