Linux 系統下使用GCC編譯器編譯C語言過程

C語言的原始檔編譯連結生成可執行檔案的過程

原程式檔案 hello。c

第一步:對原始檔進行預處理

gcc -E hello。c -o hello。i

將所有的註釋去掉

第二步:將hello。i 編譯成組合語言的檔案hello。s

gcc -S hello。i -o hello。s

第三步:將hello。s程式彙編成hello。o目標檔案

gcc -c hello。s -o hello。o

第四步:將hello。o檔案和執行時檔案連結

gcc hello。o -o hello

第五步:執行hello檔案

。/hello

檔名字尾說明

。c c語言的原始檔

。h 標頭檔案

。i 預處理後的檔案

。s 彙編檔案

。o 目標檔案

gcc引數的總結

-E 預處理

-S 從C語言到組合語言的編譯

-c 編譯/彙編

-o 指定輸出檔案的名字

程式的編譯及除錯

在程式編譯連結成可執行檔案的時候,加上-g引數

gcc -g hello。c -std=c99

這樣生成的可執行檔案裡含有除錯資訊

使用以下命令啟用GDB除錯工具來除錯可執行程式

gdb a。out

GDB除錯命令

l list 列出檔案的內容

b 行號/函式的名字 breakpoint 設定斷點

r run執行

n next 下一條語句

p 變數的名字 察看每個變數的值

s step 下一步

q quit 退出