芯片的发展趋势是体积越来越小,速度越来越快,电压越来越低、能耗越来越省。
软件就难说了。 最开始用机器码的时候,开发速度很慢。
后来才有汇编语言,可读性好多了,出错的概率也小了。汇编语言和机器码是有一一对应的关系的,就是为了容易维护才用汇编代替机器码的。
然后,出现C语言,那简直是一场革命,编程的速度快了,可读性好了,可维护性也增强了。
无论是C语言还是汇编语言,都不能直接运行,必须通过编译系统把它们转化为机器码,才能在芯片中运行。在C编过程中,有一个中间产物,那就是汇编语言。
接下来,软件越来越复杂,客观上,也要求软件要发展。出现C++之后,的确带来了很多便利。但是,C++运用到嵌入式系统中的最大缺点是它的运行速度慢。
不经常用汇编语言的人,一般很难理解这一点。C++的最大优点是他的封装好,而它的封装是通过类(class)来实现的。编译器在编译的C++过程中,首先给某个类分配一个空间,然后定义一个指针指向这个类。而类中的变量的位置都用这个类的地址加上一个偏移量来表示,这样在访问类中的变量时,就不是直接访问这个变量,而是读取类的指针,然后在加上这个变量在类中的偏移量,得到变量的地址,然后再通过地址读取变量。 访问类中的变量,都是要通过指针,要比直接访问用更多的指令,所以速度会降低。
所以,如果不是非常复杂的系统,如果不是用速度很快的硬件,最好不要用C++,还是C语言更加实际一些。
而和汇编语言比起来,C语言的编程速度,可读性,可维护性是不用说了,很多人在要求速度的时候都会想到汇编。其实这并不是一个明智的选择。汇编之所以有时候快,是因为它可以接用寄存器,或者芯片内部的高速RAM。如果不是因为这两种情况,就不要盲目的使用汇编,选择一个更好的算法往往是明智的选择。
我最喜欢的永远都是C.
cotulla_285706805 2016-2-20 15:48
国内急功近利的市场,着急赚钱的老板,他们设想的公司都没有10年,可一个大牛要用多少钱和时间建立呢。
用户839483 2014-10-22 11:11
用户1678053 2014-10-5 10:01
用户530470 2014-3-8 12:10
用户847266 2014-1-22 23:07
用户1104288 2012-2-29 12:53
用户1525767 2012-2-15 09:35
用户1405011 2011-12-7 18:50
用户1627763 2011-11-23 13:29
用户1634962 2011-11-22 13:19