查看原文
其他

嵌入式开发为什么选择C语言?为什么不选汇编C++?

2017-12-06 嵌入式ARM 嵌入式ARM


众所周知,C语言在嵌入式开发中占有十分重要的地位,它们的关系非比寻常。那么为什么嵌入式开发会选择C语言,而不是其他语言呢?


嵌入式开发是在操作系统内部做开发的,操作系统所有的内核几乎都是C语言编写,如果我们也使用C语言做开发,必定会具备一定的优势。


再者,C语言相较其他的高级编程语言,其所有的特点对于嵌入式开发软件是再合适不过的了。


C语言的特点如下:

· C语言具有出色的可移植性,能在多种不同体系结构的软/硬件平台上运行。

· C语言具有简洁紧凑、使用灵活的语法机制,并能直接访问硬件。

· C语言具有很高的运行效率。


嵌入式软件一般需着重考虑三个方面:性能、安全性和开发效率(包括代码可移植性等)。


性能(运行效率)方面,汇编明显是最高的。但汇编在安全性和开发效率方面明显是最低的。所以除非是要求极端高性能的嵌入式平台(或者是系统实在是太简单而没办法支持高级语言),使用汇编语言的不多。我们一般进行初始化时会使用汇编语言。


而其它高级语言的运行效率一般比较低(C程序运行效率可达汇编的80%,而其它程序可能只有C程序的80%),源代码和目标代码也可能会比较长。这样占用的内存也会比较大。嵌入式开发的编程是要在开发板上跑的,占用内存的增多必然会影响性能。这样一来,C语言的优势就会凸现出来啦。


但是C语言也并不是完美无瑕的,它也是有一些缺点的。譬如:

· 代码的复用性差

· 代码的可扩展性差

· 代码的维护性差

所以我们在编写c语言代码的时候,要尽量克服避免这些缺点,提高代码的质量。还是可以接受的。 



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存