當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 講師博文 > 嵌入式學(xué)習(xí)經(jīng)驗(yàn)貼看這一篇就夠了!
我自己是從今年2月多開始來到培訓(xùn)機(jī)構(gòu)(華清)學(xué)習(xí)的,以前的我自己也嘗試過自己自學(xué),但是中途自己還是被我自己打敗了,所以我覺得如果自己自制力不是很好的話,還是建議自己尋找一些線下的課程,因?yàn)橛欣蠋煄悖有一學(xué)習(xí)的同學(xué),我覺得學(xué)習(xí)的氛圍還是很重要的,也認(rèn)識了不少朋友。
我現(xiàn)在學(xué)習(xí)過的知識雖然不是太多,但也掌握了許多自己沒有接觸過的的知識(C語言、Linux基礎(chǔ)、高級C、數(shù)據(jù)結(jié)構(gòu)、IO編程和進(jìn)程與線程),雖然現(xiàn)在我所掌握的知識離成為一名合格的嵌入式軟件開發(fā)工程師還具有一定的距離,但是我覺得只要我們沉下心來,慢慢學(xué)習(xí),后面一定可以成為一名合格的嵌入式安全開發(fā)工程師。
我在當(dāng)前學(xué)習(xí)中自認(rèn)為比較重要的知識點(diǎn):
C語言:
條件判斷(if、switch)、循環(huán)(for、while、do while、goto)、形參和實(shí)參的區(qū)分(以前的我自己分不清,你們要是覺得容易可以忽略)、掌握關(guān)鍵字(我以前對于enum、union等關(guān)鍵字不是太清晰)、宏(只是做替換,我們不要自己給它加括號)等。
Linux基礎(chǔ):
虛擬機(jī)的安裝、vi的使用,shell命令的使用,Linux虛擬機(jī)的網(wǎng)絡(luò)配置和三個(gè)服務(wù)的安裝與使用(Samba、ftfp、nfs)等
高級C:
數(shù)組、指針(非常重要,需要熟練掌握,因?yàn)楹竺娴拇罅恐R都是與指針相關(guān)的)、函數(shù)、結(jié)構(gòu)體(struct、union、enum)、條件編譯(增強(qiáng)兼容性)
數(shù)據(jù)結(jié)構(gòu):
鏈表(循序表、單項(xiàng)鏈表、單項(xiàng)循環(huán)鏈表、雙向鏈表、雙向循環(huán)鏈表、內(nèi)核鏈表),這其中我覺得讓我感到不太適應(yīng)的就是內(nèi)核鏈表,因?yàn)閮?nèi)核鏈表是由linux開發(fā)人員編寫好的函數(shù),我們只要調(diào)用就好了,但是函數(shù)比較多,函數(shù)的形參的意義也要自己明確,這對于英語不好的自己有點(diǎn)難受,所以自己要多花時(shí)間去看和去寫。
I0編程:
文件的7中格式(常規(guī)文件-、目錄文件d、塊設(shè)備b、字符設(shè)備c、管道p、套接字s、符號鏈接l)、格式化標(biāo)準(zhǔn)IO(fopen、printf、fprintf、sprintf、snprintf、scanf、fscanf、sscanf、fclose等)和非格式化標(biāo)準(zhǔn)IO(getc、fgetc、getchar、fgets、gets、fputc、putc、putchar、fputs、puts等)、緩沖區(qū)(行緩沖、塊緩沖、不緩沖)、時(shí)間IO(time、ctime、localtime、asctime等)、文件IO(open、read、write、close等)。
進(jìn)程與線程
認(rèn)識進(jìn)程(進(jìn)程:程序的動態(tài)執(zhí)行過程,程序:為了達(dá)到某一目的而編寫的一系列的指令集合)、進(jìn)程的狀態(tài)、進(jìn)程的生老病死(fork、exec函數(shù)簇、kill -9、exit、_exit、return、wait、waitpid等)、守護(hù)進(jìn)程的創(chuàng)建(7步)、進(jìn)程間的通信(無名管道、有名管道、信號、共享內(nèi)存、信號量、消息隊(duì)列、套接字)、線程的創(chuàng)建和使用(pthread_create、pthread_join、pthread_exit等)。
以上是我自己的一些不全面的總結(jié),其實(shí)很多的地方都還有很多細(xì)節(jié)的知識,那些細(xì)節(jié)的知識也是我們需要掌握的,所以我們只有在后面的學(xué)習(xí)和以后的工作中慢慢重復(fù)和慢慢使用才可以掌握的更加牢固,我們才可以更上一層樓。隨著知識量的增加,很容易忘記一些知識是很正常的,我們需要多回頭看看,多敲代碼,到時(shí)候自然就掌握了。