在剛剛涉足嵌入式開(kāi)發(fā)的時(shí)候,總想找到這樣一本書(shū),它可以解決我一些這樣那樣的疑惑。但是遺憾的是,到現在也沒(méi)有這樣一本書(shū)面世,而且我想永遠也不可能面世了。因為我的疑惑太多太雜了。這些疑惑在教科書(shū)中又難以尋找到答案。C 教程注重講C 的語(yǔ)法,編譯原理注重講語(yǔ)法,語(yǔ)義的分析。每一門(mén)教科書(shū)都是有它的注重,所以那些交叉的問(wèn)題便成了三不管。市場(chǎng)上的那些自稱(chēng)為《XX 寶典》、《XX 圣經(jīng)》的書(shū)卻總是說(shuō)一些可能連作者自己也沒(méi)搞清楚的問(wèn)題。于是我想,我想了解的也許是大家都想了解的吧,那么把我學(xué)到的一點(diǎn)東西寫(xiě)出來(lái),大家也許就可以少花點(diǎn)時(shí)間在上面,留出寶貴的腦力資源去做更有意義的事。 語(yǔ)言選擇,C 還是其他 剛剛涉及嵌入式開(kāi)發(fā)者總是先閱讀一些指導類(lèi)型文章,然后就開(kāi)始對開(kāi)發(fā)語(yǔ)言的選擇躊躇不決。是C 還是C++?還是好像更熱門(mén)的JAVA?不用猶豫,至少目前看來(lái)C 還是你的選擇。嵌入式開(kāi)發(fā)的本質(zhì)是訂制開(kāi)發(fā),硬件平臺林林總總,處理能力高下不同,如果想保護你學(xué)習精力投資的話(huà),C 是最好的“優(yōu)績(jì)股”。C++的優(yōu)點(diǎn)在于它的代碼重用,但是效率比C低很多,最重要的是,并非所有芯片的編譯器都能支持C++。JAVA 就更不用提及,在一個(gè)虛擬平臺上開(kāi)發(fā)的優(yōu)點(diǎn)是不用關(guān)心具體的硬件細節,但這不是一個(gè)嵌入式開(kāi)發(fā)者的作風(fēng),換一種說(shuō)法,這種開(kāi)發(fā)不能稱(chēng)之為嵌入式開(kāi)發(fā)。 C被稱(chēng)為高級語(yǔ)言中的低級語(yǔ)言,低級語(yǔ)言中的高級語(yǔ)言,這是因為其一方面有高級語(yǔ)言所具有的接近于人類(lèi)思想的語(yǔ)言體系,另一方面同時(shí)支持地址與位操作?梢苑奖愕呐c硬件打交道。嵌入式開(kāi)發(fā)必然要操作IO、硬件地址,沒(méi)有位操作和指針你又如何方便做到? 下面詳細的內容請看附件:
![]() |