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