为什么嵌入式要用c语言编写_嵌入式c语言百度文库
为什么嵌入式要用c语言编写由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“嵌入式c语言百度文库”。
为什么嵌入式软件要用C语言编写
嵌入式软件一般需着重考虑三个方面:性能、安全性和开发效率(包括代码可移植性等)。性能(运行效率)方面,汇编明显是最高的。但汇编在安全性和开发效率方面明显是最低的(不考虑机器语言--)。所以除非是要求极端高性能的嵌入式平台(或者是系统实在是太简单而没办法支持高级语言,orz--),使用汇编语言的不多。
相对于C,其它高级语言的运行效率一般比较低(C程序运行效率可达汇编的80%,而其它程序可能只有C程序的80%),源代码和目标代码也可能会比较长。对于嵌入式系统,性能的瓶颈是非常致命的,很可能某种用C编写的程序可以达到预期目标,而用其它语言使用同样算法编写的程序就不行。(不过也正因为这个原因,在嵌入式系统上实现的可用编程语言并不多。)
基于系统的用途,安全性设计嵌入式系统也是必须考虑的一个部分(比如说用于医疗卫生设施),必须尽可能在开发期间减少潜在的错误。这方面C不占优势,但如果保证代码严格遵守安全规范,也可以接受(相对而言,汇编就郁闷了--)。
开发效率和安全性类似,也在可接受范围之内。
也可以用汇编编写c语言也好 汇编也好 或者更高级的语言都是跟人看和些的让人的思维能够描述出来
然后通过编译环境编译成计算机能看的懂的东西 不同的语言 编译完以后 逻辑上其实都是一样的然后交给芯片去运行要说效率c没有汇编效率高
举个例子
一个韩国工人(计算机)只会懂韩语(机器语言)领导有一个中国人(程序员)只会说汉语(C语言)另一个日本人(程序员)只会说日语(汇编)还有一个西班牙人(程序员)只会说西班牙语(另一种高级语言比如java)想让韩国人做同样一个事情中国人用汉语说完经过翻译(编译系统)变成韩国语韩国工人明白了要干什么日本人用日语通过翻译 变成韩国语韩国工人也知道要干什么了另一个西班牙人 用西班牙语 翻译成韩国语让韩国人干的是同一个活翻译完的结果是一样的 只是不同语言表达罢了c语言更方便 移植性更强(比汇编)
我目前接触的一般的嵌入式上层软件 c语言就可以搞定
如果遇到比较严格的或者军工的甲方
c语言搭钩框架,然后剩下的全部用汇编语言实现
之所以用c 是因为c比汇编操作简单
调试方便 开发效率较高
但是代码运行效率可能没那么
而且汇编可以精确定时,代码运行时间是可以计算出来的因为C效率高~相对其他高级语言代码所占用的空间少~通用性也不错
所以要用C喽
嵌入式的芯片ROM有限