为什么说,用c语言写的程序比汇编语言写的程序执行效率上要低,难道两者编译成的二进制代码有很大不同??

如题所述

汇编可以直接操作硬件,而C语言则对这些底层操作进行了一定程度的封装,而封装就意味着执行过程复杂度的增加。所以说,虽然二者最后实现的效果是一样的,但后者的执行过程要比前者复杂,编译成的二进制代码也就有所不同。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-02
汇编是面向机器的,更接近机器语言,c语言等高级语言是面向问题的,另外汇编可以直接操作硬件
第2个回答  2011-12-02
对 C的函数调用 在汇编实现层面上有很多格式化的出入栈的动作,而不直接使用寄存器. 汇编可以随心所欲的使用硬件寄存器.效率会高一截. 早年的设计,由于计算机硬件稀缺,不得不使用汇编提高软件的效率. 近年,硬件成本越来越低,性能越来越高.软件开发成本成为了主要的部分.使用高级语言开发可以节约项目开发总成本. 所以虚拟机 C#等一系列新技术 将成为是近几年的主要开发工具.
第3个回答  2011-12-02
C语言还需要翻译成汇编语言
相似回答