Linux下C語言編程課程
Linux下C語言編程課程
課程概述
本課程詳細(xì)介紹了嵌入式C語言的難點(diǎn)和重點(diǎn),深入剖析了在嵌入式開發(fā)中C語言的重要作用。強(qiáng)調(diào)了在嵌入式開發(fā)中C的獨(dú)特地位和編程技巧,帶領(lǐng)更多有志于投身嵌入式領(lǐng)域的技術(shù)人員迅速提升自己的C編程能力。
培訓(xùn)目的
掌握嵌入式C語言中的重點(diǎn)、難點(diǎn);
掌握嵌入式C程序開發(fā)技巧;
培訓(xùn)內(nèi)容
函數(shù)
函數(shù)為程序員提供了最基本的代碼復(fù)用能力,函數(shù)在調(diào)用返回時究竟發(fā)生了什么?局部變量如何分配空間?可變參數(shù)列表的機(jī)制如何?我們將在這個環(huán)節(jié)深入底層,去揭開函數(shù)調(diào)用的面紗。
函數(shù)的類型和返回值
函數(shù)的參數(shù)傳遞
函數(shù)調(diào)用過程中的棧幀結(jié)構(gòu)
可變參數(shù)列表
遞歸函數(shù)調(diào)用
指針
指針,它讓C語言與眾不同。如何判斷指針的類型?指針的速度真的快么?指針運(yùn)算和整數(shù)運(yùn)算有何不同?指針和數(shù)組一樣么,不一樣么?我們將在這個環(huán)節(jié)用簡單明了的技巧解決一系列含混的指針問題。
判斷指針的類型
指針的運(yùn)算
數(shù)組和指針的同異
指向函數(shù)的指針
指針與抽象
預(yù)編譯
如果說指針是C語言的靈魂,那么預(yù)編譯就是C語言的生命。預(yù)編譯使得C語言可以變化出多樣的外觀。預(yù)編譯如何提高編碼的效率?宏定義中有哪些陷阱?文件包含的時候發(fā)生了什么?我們將在這個環(huán)節(jié)用精確的語言來闡述完整的預(yù)編譯的技巧。
對象宏和函數(shù)宏
宏定義技巧和常見錯誤
#和##運(yùn)算符
條件編譯
文件包含
字符串
字符串處理,這大概是C語言最不擅長的事情。C語言的字符串處理有許多被遺忘的角落。在這一階段,我們帶領(lǐng)你重拾C語言的字符串處理函數(shù),以充實(shí)你的C語言武器庫。
C風(fēng)格字符串
標(biāo)準(zhǔn)C字符串庫函數(shù)一覽
重點(diǎn)函數(shù)實(shí)現(xiàn)解析
C字符串處理范例
鏈接
鏈接使得程序員可以復(fù)用二進(jìn)制的編譯結(jié)果。不同種類的變量被放到了哪里?如何控制代碼在內(nèi)存中的位置?PC程序員也許不是很關(guān)心的這些問題,但這卻是嵌入式程序員的必經(jīng)之路。我們將在這個環(huán)節(jié)補(bǔ)上知識鏈條中缺失的一環(huán)。
鏈接和elf文件格式概述
程序的存儲映像
鏈接腳本和嵌入式程序的存儲
文件IO
一切都是文件。在我們的整個課程體系中,我們將從不同的角度來審視這一句話。在這個階段,我們用C語言來審視UNIX世界中的這個基本價(jià)值觀。
流和IO重定向
文本文件與二進(jìn)制文件
用標(biāo)準(zhǔn)C庫進(jìn)行文件操作
標(biāo)準(zhǔn)C和系統(tǒng)調(diào)用
?
·
?
?
?
?
?
?
?
?
?
?
?
?
?
?