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 退出