单片机开发、嵌入式系统开发 速度最快的还是C语言

发布时间:2011-3-11 11:03    发布者:绝对好文
关键词: c语言
作者:张鲁波

芯片的发展趋势是体积越来越小,速度越来越快,电压越来越低、能耗越来越省。

软件就难说了。 最开始用机器码的时候,开发速度很慢。

后来才有汇编语言,可读性好多了,出错的概率也小了。汇编语言和机器码是有一一对应的关系的,就是为了容易维护才用汇编代替机器码的。

然后,出现C语言,那简直是一场革命,编程的速度快了,可读性好了,可维护性也增强了。

无论是C语言还是汇编语言,都不能直接运行,必须通过编译系统把它们转化为机器码,才能在芯片中运行。在C编过程中,有一个中间产物,那就是汇编语言。

接下来,软件越来越复杂,客观上,也要求软件要发展。出现C++之后,的确带来了很多便利。但是,C++运用到嵌入式系统中的最大缺点是它的运行速度慢。

不经常用汇编语言的人,一般很难理解这一点。C++的最大优点是他的封装好,而它的封装是通过类(class)来实现的。编译器在编译的C++过程中,首先给某个类分配一个空间,然后定义一个指针指向这个类。而类中的变量的位置都用这个类的地址加上一个偏移量来表示,这样在访问类中的变量时,就不是直接访问这个变量,而是读取类的指针,然后在加上这个变量在类中的偏移量,得到变量的地址,然后再通过地址读取变量。 访问类中的变量,都是要通过指针,要比直接访问用更多的指令,所以速度会降低。

所以,如果不是非常复杂的系统,如果不是用速度很快的硬件,最好不要用C++,还是C语言更加实际一些。

而和汇编语言比起来,C语言的编程速度,可读性,可维护性是不用说了,很多人在要求速度的时候都会想到汇编。其实这并不是一个明智的选择。汇编之所以有时候快,是因为它可以接用寄存器,或者芯片内部的高速RAM。如果不是因为这两种情况,就不要盲目的使用汇编,选择一个更好的算法往往是明智的选择。

我最喜欢的永远都是C.
本文地址:https://www.eechina.com/thread-57985-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
hqy_huang 发表于 2011-5-3 14:17:27
支持
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表