Linux操作系統(tǒng):08 Linux編程_第1頁(yè)
Linux操作系統(tǒng):08 Linux編程_第2頁(yè)
Linux操作系統(tǒng):08 Linux編程_第3頁(yè)
Linux操作系統(tǒng):08 Linux編程_第4頁(yè)
Linux操作系統(tǒng):08 Linux編程_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Linux編程本次內(nèi)容文本編輯器gcc編譯器gdb調(diào)試使用make本次內(nèi)容文本編輯器gcc編譯器gdb調(diào)試使用makevi編輯器vi (Visual Interface)不是排版程序,僅僅是一個(gè)文本編輯程序。三種工作模式命令行模式文本輸入模式末行模式啟動(dòng)vi編輯器命 令說(shuō) 明vi filename打開(kāi)或新建文件,并將光標(biāo)置于第一行首vi +n filename打開(kāi)文件,并將光標(biāo)置于第n行首vi + filename打開(kāi)文件,并將光標(biāo)置于最后一行首vi +/pattern filename打開(kāi)文件,并將光標(biāo)置于第一個(gè)與pattern匹配的串處vi -r filename在上次正用vi編輯時(shí)發(fā)生系

2、統(tǒng)崩潰,恢復(fù)filenamevi filename1.filenamen打開(kāi)多個(gè)文件,依次進(jìn)行編輯vi的一些基本命令顯示行號(hào):se nu移動(dòng)光標(biāo):h, j, k, l屏幕顯示:滾屏、分頁(yè)、狀態(tài)文本插入:i和I附加命令:a和A打開(kāi)、刪除、取消、重復(fù)、退出、設(shè)置等本次內(nèi)容文本編輯器gcc編譯器gdb調(diào)試使用makegcc編譯器gcc (GNU Compiler Collection)可在多平臺(tái)上編譯出可執(zhí)行程序。gcc可以對(duì)多種編程語(yǔ)言的源碼進(jìn)行編譯,為了不至于混淆,gcc通過(guò)文件后綴進(jìn)行區(qū)分。gcc options filenamesE.g., p130gcc常用選項(xiàng)編譯選項(xiàng)優(yōu)化選項(xiàng)-o:對(duì)源碼

3、進(jìn)行最基本的優(yōu)化-o2:產(chǎn)生盡可能小的和快的執(zhí)行代碼調(diào)試和剖析選項(xiàng)-g:產(chǎn)生能被GNU調(diào)試器,如gdb,使用的調(diào)試信息-pg:在用戶(hù)程序中加入額外的代碼,產(chǎn)生剖析信息以顯示程序耗時(shí)情況。本次內(nèi)容文本編輯器gcc編譯器gdb調(diào)試使用makegdb調(diào)試gdb是一個(gè)功能相當(dāng)強(qiáng)大的調(diào)試器,能在程序運(yùn)行時(shí)觀察程序的內(nèi)部結(jié)構(gòu)和內(nèi)存堆棧的情況??傮w說(shuō)來(lái),gdb具有如下幾個(gè)主要的功能監(jiān)視程序中變量的值設(shè)置程序的斷點(diǎn)逐行執(zhí)行代碼命 令說(shuō) 明file裝入想要調(diào)試的可執(zhí)行文件kill終止正在調(diào)試的程序list列出產(chǎn)生執(zhí)行文件的源代碼的一部分next執(zhí)行一行源代碼但不進(jìn)入函數(shù)內(nèi)部step執(zhí)行一行源代碼而且進(jìn)入函數(shù)內(nèi)部

4、run執(zhí)行當(dāng)前被調(diào)試的程序quit終止gdbwatch監(jiān)視一個(gè)變量的值而不管它何時(shí)被改變break在代碼里設(shè)置斷點(diǎn),這將使程序執(zhí)行到這里時(shí)被掛起make不退出gdb的情況下,就可以重新產(chǎn)生可執(zhí)行文件shell能不離開(kāi)gdb就執(zhí)行UNIX shell命令基本gdb命令gdb調(diào)試主要步驟#gdb test 開(kāi)啟gdb(gdb) file test 用file命令載入程序(gdb) run 用run命令運(yùn)行test程序(gdb) list 列出源代碼(gdb) break # 在第#行設(shè)置斷點(diǎn)(gdb) run 再次運(yùn)行run(gdb) watch variable 觀察變量值(gdb) next

5、迭代分析本次內(nèi)容文本編輯器gcc編譯器gdb調(diào)試使用make為什么需要make?在Linux環(huán)境中,make是一個(gè)非常重要的編譯命令。不管是自己進(jìn)行項(xiàng)目開(kāi)發(fā)還是安裝應(yīng)用軟件,用戶(hù)都會(huì)經(jīng)常用到make或make install命令。利用make工具,可以將大型的開(kāi)發(fā)項(xiàng)目分解成為多個(gè)更易于管理的模塊,分塊編譯對(duì)于一個(gè)包括幾百個(gè)源文件的應(yīng)用程序,使用make和makefile工具就可以簡(jiǎn)潔明快地理順各個(gè)源文件之間紛繁復(fù)雜的相互關(guān)系。為什么需要make?對(duì)于如此多的源文件,如果每次都要鍵入gcc命令進(jìn)行編譯的話,那么對(duì)程序員來(lái)說(shuō)將是一件非常困難的事情。而make工具則可自動(dòng)完成編譯工作,并且可以只對(duì)程

6、序員在上次編譯后修改過(guò)的部分進(jìn)行編譯。 因此,有效地利用make和makefile工具可以大大提高項(xiàng)目開(kāi)發(fā)的效率,也可以大大地減少程序中出現(xiàn)的錯(cuò)誤。Makefile文件make工具最主要最基本的功能是通過(guò)makefile文件來(lái)描述源程序之間的相互關(guān)系并自動(dòng)維護(hù)編譯工作。Makefile文件作為一種描述文檔一般需要包含以下內(nèi)容。宏定義源文件之間的相互依賴(lài)關(guān)系可執(zhí)行的命令宏變量Makefile中允許使用簡(jiǎn)單的宏指代源文件及相關(guān)編譯信息,在Linux中也稱(chēng)宏為變量。引用宏時(shí)只需在變量前加$符號(hào)即可,但如果變量名字超過(guò)一個(gè)字符,引用時(shí)需要用圓括號(hào)()$(CFLAGS)$2$Z$(Z)make命令 make命本身可帶有四種參數(shù):標(biāo)志、宏定義、

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論