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