首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

C语言程序比汇编程序效率低是哪些方面造成的?该怎么解决

2012-04-24 
C语言程序比汇编程序效率低是哪些方面造成的?C语言程序比汇编程序效率低是哪些方面造成的?[解决办法]基本

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

[解决办法]
基本上说,现代的编译器非常优秀,在通常情况下,用这些编译器编译出来的代码执行效率很高,不比直接使用汇编编写的程序差。当然,如果c程序是一个水平很差的程序员写的,而汇编程序是一个水平很高的汇编程序员写的,那么c程序的性能可能差于汇编程序。哈哈。
[解决办法]
“C语言程序比汇编程序效率低”这得看什么C程序和什么汇编程序比,如果算法一样,使用的指令集也相同话,基本是相当的,没有明显的差别。
差别主要在于编译器很难做算法级的优化,比如你写个1到100的循环累加程序,还没有编译器能优化成高斯法,或者直接输出5050,另外编译器往往产生一些冗余代码,象栈框架、临时变量的暂存等等,有些情况下是不需要的,导致性能有所降低。

[解决办法]
如果你是汇编高手(同时估计也是超级黑客),而且你时间充裕,而且需求简单,

程序规模小,那么汇编效率的确比C的高。

否则...
[解决办法]
我看了一下C语言区的回复,也看了这里的回复,给你一个建议:
同样的程序或者功能函数,你用汇编写一下,再用C写一下但是生成汇编代码,然后两相比较。

热点排行