精通unix下c語言編程與項目實踐

精通unix下c語言編程與項目實踐

ID:15501344

大?。?47.41 KB

頁數(shù):78頁

時間:2018-08-03

精通unix下c語言編程與項目實踐_第1頁
精通unix下c語言編程與項目實踐_第2頁
精通unix下c語言編程與項目實踐_第3頁
精通unix下c語言編程與項目實踐_第4頁
精通unix下c語言編程與項目實踐_第5頁
資源描述:

《精通unix下c語言編程與項目實踐》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。

1、第一篇:起步篇千里之行,始于足下。第一章UNIX初步UNIX自1969年誕生以來,已經(jīng)發(fā)展為SystemIII&V、BSD和Linux三大分支。UniX通過shell與用戶交互,它是用戶與系統(tǒng)間的界面。使用好shell對于學(xué)習(xí)使用UNIX來說是必須的。不需要你記住所有的命令,但基礎(chǔ)的文件操作、目錄操作及系統(tǒng)命令等卻是必須的。Vi對于初學(xué)者是難點(diǎn),不過只要通過一段時間的練習(xí)就能習(xí)慣;而且你會很快發(fā)現(xiàn),它功能強(qiáng)大、更加靈活。這里不多說了:)第二章編程套件學(xué)習(xí)UNIX對于初學(xué)者有幾種選擇。一種就是最直接的,在本機(jī)上安裝UNIX系統(tǒng),不如

2、說Linux分支中的RedHat等;一種是在Windows環(huán)境下使用虛擬機(jī)方式安裝UNIX系統(tǒng);另一種則是使用網(wǎng)絡(luò)終端登錄到網(wǎng)絡(luò)環(huán)境中的某個UNIX系統(tǒng)中。如果你相對黑洞洞的UNIX字符界面更喜歡舒適美觀的Windows界面,那么推薦你選擇第三種方式。開發(fā)套件包括:編輯器UltraEdit、網(wǎng)絡(luò)終端SecureCRT或其他。編譯器就不用說了,自然是cc(gcc或xlc系列)。這是C語言開發(fā)必不可少的。其中要注意-I(加載頭文件路徑)、-L(加載庫文件路徑)及-D(宏定義)參數(shù)的使用。Make工具使用。如何編寫makefile是關(guān)鍵

3、。后面項目中使用時會詳細(xì)介紹。Gdb調(diào)試器。Gdb乃符號級調(diào)試工具,它控制程序的內(nèi)部執(zhí)行,利用斷點(diǎn)設(shè)置、單步運(yùn)行等手段,將程序的執(zhí)行過程逐步展示在調(diào)試者目前。這種調(diào)試方式在短代碼中可以發(fā)揮得很好。事實上,隨著軟件項目的擴(kuò)大化、復(fù)雜化和分布化,很少有程序員直接通過Gdb等工具調(diào)試;使用日志記錄調(diào)試方法比Gdb等調(diào)試工具更為便捷和廣泛。C工具:lint檢查源代碼是否正確,gprof分析程序時間消費(fèi)量,cflow生成C語言流程圖。第三章庫的使用庫分靜態(tài)庫和動態(tài)庫兩種。靜態(tài)庫的操作工具:ar命令。編寫及使用靜態(tài)庫(1)設(shè)計庫源碼pr1.c

4、和pr2.c[root@billstonemake_lib]#catpr1.cvoidprint1(){printf("Thisisthefirstlibsrc!");}[root@billstonemake_lib]#catpr2.cvoidprint2(){printf("Thisisthesecondsrclib!");}(2)編譯.c文件[bill@billstonemake_lib]$cc-O-cpr1.cpr2.c[bill@billstonemake_lib]$ls-lpr*.o-rw-rw-r--1bill

5、bill8044月1511:11pr1.o-rw-rw-r--1billbill8044月1511:11pr2.o(3)鏈接靜態(tài)庫為了在編譯程序中正確找到庫文件,靜態(tài)庫必須按照lib[name].a的規(guī)則命名,如下例中[name]=pr.[bill@billstonemake_lib]$ar-rsvlibpr.apr1.opr2.oa-pr1.oa-pr2.o[bill@billstonemake_lib]$ls-l*.a-rw-rw-r--1billbill18224月1511:12libpr.a[bill@billstonem

6、ake_lib]$ar-tlibpr.apr1.opr2.o(4)調(diào)用庫函數(shù)代碼main.c[bill@billstonemake_lib]$catmain.cintmain(){print1();print2();return0;}(5)編譯鏈接選項-L及-l參數(shù)放在后面.其中,-L加載庫文件路徑,-l指明庫文件名字.[bill@billstonemake_lib]$gcc-omainmain.c-L./-lpr[bill@billstonemake_lib]$ls-lmain*-rwxrwxr-x1billbill118054

7、月1511:17main-rw-rw-r--1billbill504月1511:15main.c(6)執(zhí)行目標(biāo)程序[bill@billstonemake_lib]$./mainThisisthefirstlibsrc!Thisisthesecondsrclib![bill@billstonemake_lib]$編寫動態(tài)庫(1)設(shè)計庫代碼[bill@billstonemake_lib]$catpr1.cintp=2;voidprint(){printf("Thisisthefirstdllsrc!");}[bill@billst

8、onemake_lib]$(2)生成動態(tài)庫[bill@billstonemake_lib]$gcc-O-fpic-shared-odl.sopr1.c[bill@billstonemake_lib]$ls-l*.so-rwxrwxr-x1billb

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。