想要學(xué)習(xí)嵌入式C語(yǔ)言要掌握到什么程度?
請(qǐng)問(wèn)想要學(xué)習(xí)嵌入式C語(yǔ)言要掌握到什么程度?

推薦答案
同學(xué),您好!想要學(xué)習(xí)嵌入式C語(yǔ)言要掌握到什么程度?嵌入式C語(yǔ)言的學(xué)習(xí)和我們平時(shí)所說(shuō)的C語(yǔ)言沒(méi)有區(qū)別,雖然在代碼編寫(xiě)上沒(méi)有區(qū)別,但是開(kāi)發(fā)時(shí)的思考角度卻大不相同。普通的C語(yǔ)言開(kāi)發(fā)是基于計(jì)算機(jī)的,寫(xiě)的時(shí)候沒(méi)有那么多約束;而嵌入式C語(yǔ)言在編寫(xiě)過(guò)程中要注重軟件、硬件和計(jì)算機(jī)原理。
兩人日常工作中的C語(yǔ)言代碼量不在一個(gè)檔次,但理解嵌入式C語(yǔ)言代碼背后的邏輯并不容易。
編寫(xiě)一個(gè)高質(zhì)量可靠的嵌入式C語(yǔ)言程序并不容易。它不僅需要熟悉硬件特性和缺陷,還需要對(duì)編譯原理和計(jì)算機(jī)技術(shù)知識(shí)有一定的了解。只有理解了邏輯、協(xié)議、接口、框架、平臺(tái)等,才能寫(xiě)出來(lái)。
普通C語(yǔ)言是基于計(jì)算機(jī)的,而嵌入式C語(yǔ)言是運(yùn)行在嵌入式開(kāi)發(fā)板上的。CPU和我們的電腦不一樣,所以編譯器也不一樣,生成的可執(zhí)行程序也不一樣。
普通的C語(yǔ)言編程是在OS之上的,有很多標(biāo)準(zhǔn)庫(kù)函數(shù)可以調(diào)用。分配的內(nèi)存就是PC的內(nèi)存,處理器就是PC的CPU。
嵌入式C語(yǔ)言編程會(huì)涉及到硬件的操作,需要自己編寫(xiě)函數(shù)來(lái)操作硬件。底層沒(méi)有庫(kù)函數(shù)調(diào)用。另外編譯的時(shí)候用到了交叉編譯器。內(nèi)存是芯片上的內(nèi)存,處理器是芯片上的處理。另外,在編寫(xiě)程序的時(shí)候,我們更注重程序的優(yōu)化和效率,因?yàn)榍度胧接布Y源相對(duì)于PC是有限的,實(shí)時(shí)性強(qiáng)。
因此,嵌入式程序員的目標(biāo)就是編寫(xiě)出能夠利用這種有限的處理能力發(fā)揮最大效果的程序。 思維角度和使用習(xí)慣與普通C語(yǔ)言不同。
嵌入式開(kāi)發(fā)對(duì)C語(yǔ)言本身沒(méi)有那么高的要求。只要能看懂,有一定的編碼經(jīng)驗(yàn),了解C語(yǔ)言的基本語(yǔ)法,就可以嘗試寫(xiě)代碼,調(diào)試代碼,修改代碼。
作為嵌入式初學(xué)者,建議在學(xué)習(xí)的時(shí)候,最好有學(xué)習(xí)路線圖或者專(zhuān)業(yè)指導(dǎo)。不要本末倒置,花大量時(shí)間學(xué)習(xí)C語(yǔ)言開(kāi)發(fā)。在過(guò)去的幾個(gè)月里,發(fā)現(xiàn)什么也做不了。嵌入式要學(xué)的東西很多,C語(yǔ)言只是其中之一。 不要學(xué)錯(cuò)方向。
如果想要學(xué)習(xí)嵌入式C語(yǔ)言,可以選擇報(bào)名參加嵌入式專(zhuān)業(yè)培訓(xùn)課程。培訓(xùn)課程在學(xué)習(xí)路線圖和學(xué)習(xí)方法上更有效。 比如C語(yǔ)言的學(xué)習(xí),一般都是融入一些例子,通過(guò)例子的編寫(xiě),可以提高大家的C語(yǔ)言編碼能力,早日掌握研發(fā)能力,這比自己努力學(xué)習(xí)更有效。

猜你喜歡LIKE
已解決問(wèn)題 在線提問(wèn)>>
張同學(xué)在線提問(wèn)
想學(xué)編程去哪個(gè)學(xué)校好?有沒(méi)有比較好的編程學(xué)校
同學(xué),你好!想學(xué)編程去哪個(gè)學(xué)校好?想學(xué)編程...詳情
劉同學(xué)在線提問(wèn)
前端需要學(xué)習(xí)哪些內(nèi)容,在哪參加培訓(xùn)較好
在進(jìn)行前端學(xué)習(xí)的過(guò)程中,很多同學(xué)在問(wèn)前端需...詳情
李同學(xué)在線提問(wèn)
小白自學(xué)Java需要多久的時(shí)間?
同學(xué),您好!小白自學(xué)Java需要多久的時(shí)間?學(xué)...詳情
熱議問(wèn)題






