1、嵌入式开发中为何选择C语言?java
首先嵌入式是在已有的硬件基础上,移植操做系统,而如今操做系统的内核都是用C实现的python
2、为何用C语言开发操做系统内核?操作系统
C语言有三大特色(优势):翻译
①C语言具备出色的可移植性,能在多种不一样体对象
系结构的软/硬件平台上运行(单片机,ARM等)开发
(出色的移植性:编译器
1.一个软件从一个平台切换到另外一个平台,修改的代码越少,移植性越好虚拟机
2.软件能在不一样平台下运行编译
)效率
②C怨言具备简介紧凑,使用灵活的语法机制,并能直接访问硬件
(还有什么语言访问硬件?
汇编 访问效率高 对硬件初始化用汇编,对硬件作复杂操做用C语言汇编是 低级 语言,没有高级语法,实现不了复杂操做
因此 对硬件进行初始化时,用汇编
读硬件作复杂操做时,用C
)
③C语言具备很高的运行效率
(运行效率高: 不须要经过虚拟机翻译这个过程
)
3、怎么提升代码的移植性?
typedef #define宏定义 结构体等
4、什么是解释性语言?
使用专门的解释器对源程序逐行解释成特定平台的机器码并当即执行的语言, java,python等,运行速度会慢一些
5、编译型语言:
使用专门的编译器,针对特定的平台(操做系统)将某种高级语言源代码一次 性“翻译”成可被该平台硬件执行的机器码,并包装成该平台所能识别的可执行性 程序的格式
如C,C++
6、
C语言面向结构 Java、C++面向对象
解决微观(具体) 解决宏观(总体、庞大)
7、C语言缺点:
复用性差 可否屡次使用
维护性差 出问题时要一个一个去检查
扩展性差 很差加功能(修改代码量多)
评价代码的好坏从:复用性,维护性,扩展性,可读性四个方面来判断
8、C标准: K&RC ANSIC/C89 C99 C11
1979 1989 1999 2011