以下是引用神vLinux飘飘在2005-5-3 9:11:41的发言:
a+=m和a=a+m最终生成的代码是不同的
a+=m的效率要比a=a+m高那么一点点点点点点(按照现在的计算机速度来说的确是这样的)
现在计算机的速度正在转变一些我们曾经认为是真理的观点。当我们曾经所努力捍卫的内存现在升级到了512M,这个时候选择是用long还是int已经没有多大意义了。(当然,这是在32位C/C++编译环境下)
C之所以这么火就是靠他的灵活性,以及代码的高效率,C有两大用途:写操作系统和芯片编程!写应用程序的,现在一般不用C,而选C++\Java\Delphi什么的.
在PC上写操作系统,当然没问题,但在实际中C更多的是代替汇编进行芯片编程,在单片机\DSP\CGI脚本的C编程或者是FPGA的外围芯片编程,那么哪怕只提高那么一点点点点点点效率也会极大的降低成本!
而且现在在实际生产中,操作系统不在只运行在传统的计算机上,在一些普通设备电路上同样也运行一些操作系统.比如,现在有些大型路由器,自身就有一个操作系统,不过比DOS还简单,在里面只要有万把个复合运算符,那节约的系统开销也是相当可观的了!
C的生命里在于它的运行效率是除机器语言和汇编以外最高的,而在接近硬件的层次开发中,它的通用范围最广,开发效率最高!