有接觸過編程的人都知道C語言在嵌入式開發中占有十分重要的地位,它們的關系非比尋常。那么為什么
嵌入式開發會選擇C語言,而不是其他語言呢?
嵌入式開發是在操作系統內部做開發的,操作系統所有的內核幾乎都是C語言編寫,如果我們也使用C語言做開發,必定會具備一定的優勢。
再者,C語言相較其他的高級編程語言,其所有的特點對于嵌入式開發軟件是再合適不過的了。
C語言的特點如下:
C語言具有出色的可移植性,能在多種不同體系結構的軟/硬件平臺上運行。
C語言具有簡潔緊湊、使用靈活的語法機制,并能直接訪問硬件。
C語言具有很高的運行效率。
嵌入式軟件一般需著重考慮三個方面:性能、安全性和開發效率(包括代碼可移植性等)。
性能(運行效率)方面,匯編明顯是最高的。但匯編在安全性和開發效率方面明顯是最低的。所以除非是要求極端高性能的嵌入式平臺(或者是系統實在是太簡單而沒辦法支持高級語言),使用匯編語言的不多。一般進行初始化時會使用匯編語言。
而其它高級語言的運行效率一般比較低(C程序運行效率可達匯編的80%,而其它程序可能只有C程序的80%),源代碼和目標代碼也可能會比較長。這樣占用的內存也會比較大。
嵌入式開發的編程是要在開發板上跑的,占用內存的增多必然會影響性能。這樣一來,C語言的優勢就會凸現出來啦。
但是C語言也并不是完美無瑕的,它也是有一些缺點的。譬如:
代碼的復用性差
代碼的可擴展性差
代碼的維護性差
所以在編寫c語言代碼的時候,要盡量克服避免這些缺點,提高代碼的質量。還是可以接受的。