C语言程序比汇编程序效率低是哪些方面造成的

如题所述

最主要是:汇编语言能尽可能多的使用cpu内部的寄存器进行运算,而c语言(包括其他编译型的语言)则需要用内存单元来进行。比如:i+=1这个操作,汇编语言也许是 inc cx,c语言的机器码则是 inc word ptr ds:[bx]。
另外,高级语言在翻译后的机器码中使用了比汇编多得多的call指令、jmp指令,特别是call指令会降低程序的运行效率。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答