一、思考題:
1、gcc -static的作用?
答:當gcc -static用於編譯乙個程式時,會使此程式靜態編譯(把動態庫的函式和所依賴的任何東西,都編譯進本程式),編譯好後,檔案會非常大,但是,執行時就不需要依賴任何動態庫了。
2、**優化,每級優化了什麼?
答:-o1:提供基礎級別的優化,採用優化演算法,減少生成**的大小,降低執行**的執行速度;
-o2:提供更高階的**優化,採用幾乎所有的目標配置支援的優化演算法,提高目標**的執行速度;
-o3:提供最高端的**優化,採取更多向量化演算法,提高**的並行執行程度。
二、嵌入式開發工具之偵錯程式:gdb
1、gdb簡介:
gcc除錯c程式時只能根據gcc編譯時發出的錯誤警告進行修改,而gdb可以有更強的除錯功能。gdb偵錯程式是由gnu開發的一款偵錯程式,它可以和visual c++、visual basic等開發工具的偵錯程式媲美。
2、gdb的主要功能:
①可以在指定的斷點處讓被除錯程式停止
②啟動被除錯程式,可以按自己的意願執行程式
③可以動態地改變程式的執行環境
3、gdb的使用:
①生成除錯資訊
在使用gdb偵錯程式時,編譯時我們必須將gdb的除錯資訊加到可執行檔案中,我們通過-g實現。
gcc -g filename
②啟動gdb:
gdb 可執行檔名
③gdb的常用命令:
執行程式:run
源**羅列:list(或l)
斷點設定:break
刪除斷點:delete
三、嵌入式開發工具之工程管理器:make
1、make簡介:
make工程管理器也就是個「自動編譯管理器」,「自動」指它能夠根據檔案的時間戳自動發現更新過的檔案而減少檔案的編譯量,同時,它通過讀取makefile檔案來執行大量編譯工作。makefile是make讀入的唯一配置檔案!
2、makefile簡介:
make工程管控器是完全根據makefile檔案中的編譯規則命令進行工作的。因此,要學make其實就是學會makefile的編寫。makefile的編寫需要遵循如下的三個規則:目標(target),依賴(dependency),命令(command)。
makefile儲存著工程管理器make進行工作所需的編譯規則命令。
makefile檔案由以下三種基本內容組成:
1)需要生成的目標檔案(target file)
2)生成目標檔案所需要的依賴檔案(dependency file)
3)生成目標檔案的編譯規則命令列(command)
3、makefile的格式:
目標:依賴
按tab+命令
拓展四之嵌入式開發工具
一 偵錯程式 gdb 1 gdb命令 file filename 裝入想要除錯的可執行檔案 kill filename 終止正在除錯的程式 break file function 在 file檔案的 function函式中設定乙個斷點 clear 刪除乙個斷點,這個命令需要指定 行或者函式名作為引數...
嵌入式開發工具
嵌入式linux開發工具 vim,gcc.gdb,make vim 文字編輯器 學會使用和如何配置vim gcc 編譯器 學會製作動態庫和靜態庫及使用與區別 gdb 偵錯程式 設定斷點 單步執行 除錯記憶體錯誤 make 工程管理器 編寫makefile檔案 linux文字編輯器 vim 功能最強大...
嵌入式開發工具 WinSCP
嵌入式系統開發的乙個典型模式是 在windows平台下安裝vmware linux虛擬機器。這時候windows和linux系統之間的檔案傳輸就顯得非常重要。在windows和vmware linux虛擬機器之間實現檔案傳輸的方式很多,由於開發過程的繁瑣,我們通常都希望找到乙個非常方便的方式。使用w...