眾所周知,C語(yǔ)言在嵌入式開(kāi)發(fā)中占有十分重要的地位,它們的關(guān)系非比尋常。那么為什么嵌入式開(kāi)發(fā)會(huì)選擇C語(yǔ)言,而不是其他語(yǔ)言呢? 嵌入式開(kāi)發(fā)是在操作系統(tǒng)內(nèi)部做開(kāi)發(fā)的,操作系統(tǒng)所有的內(nèi)核幾乎都是C語(yǔ)言編寫,如果我們也使用C語(yǔ)言做開(kāi)發(fā),必定會(huì)具備一定的優(yōu)勢(shì)。 再者,C語(yǔ)言相較其他的高級(jí)編程語(yǔ)言,其所有的特點(diǎn)對(duì)于嵌入式開(kāi)發(fā)軟件是再合適不過(guò)的了。 C語(yǔ)言的特點(diǎn)如下: · C語(yǔ)言具有出色的可移植性,能在多種不同體系結(jié)構(gòu)的軟/硬件平臺(tái)上運(yùn)行。 · C語(yǔ)言具有簡(jiǎn)潔緊湊、使用靈活的語(yǔ)法機(jī)制,并能直接訪問(wèn)硬件。 · C語(yǔ)言具有很高的運(yùn)行效率。 嵌入式軟件一般需著重考慮三個(gè)方面:性能、安全性和開(kāi)發(fā)效率(包括代碼可移植性等)。 性能(運(yùn)行效率)方面,匯編明顯是最高的。但匯編在安全性和開(kāi)發(fā)效率方面明顯是最低的。所以除非是要求極端高性能的嵌入式平臺(tái)(或者是系統(tǒng)實(shí)在是太簡(jiǎn)單而沒(méi)辦法支持高級(jí)語(yǔ)言),使用匯編語(yǔ)言的不多。我們一般進(jìn)行初始化時(shí)會(huì)使用匯編語(yǔ)言。 而其它高級(jí)語(yǔ)言的運(yùn)行效率一般比較低(C程序運(yùn)行效率可達(dá)匯編的80%,而其它程序可能只有C程序的80%),源代碼和目標(biāo)代碼也可能會(huì)比較長(zhǎng)。這樣占用的內(nèi)存也會(huì)比較大。嵌入式開(kāi)發(fā)的編程是要在開(kāi)發(fā)板上跑的,占用內(nèi)存的增多必然會(huì)影響性能。這樣一來(lái),C語(yǔ)言的優(yōu)勢(shì)就會(huì)凸現(xiàn)出來(lái)啦。 但是C語(yǔ)言也并不是完美無(wú)瑕的,它也是有一些缺點(diǎn)的。譬如: · 代碼的復(fù)用性差 · 代碼的可擴(kuò)展性差 · 代碼的維護(hù)性差 所以我們?cè)诰帉慶語(yǔ)言代碼的時(shí)候,要盡量克服避免這些缺點(diǎn),提高代碼的質(zhì)量。還是可以接受的。 信盈達(dá)靠技術(shù)打天下 想學(xué)習(xí)的你和我聯(lián)系預(yù)約就可以免費(fèi)聽(tīng)課了。 宋工企鵝號(hào):35--24-65--90-88 Tel/WX:173--17--95--19--08 |