在Linux系統下C語言編譯過程的四個步驟

2021-10-07 05:15:22 字數 920 閱讀 7452

#include int main()
在linux下編譯c程式:

$ gcc hello.c -o hello # 編譯

$ ./hello # 執行

hello world! # 輸出文字

gcc命令編譯c語言的過程中依次執行了四步操作:

預處理(preprocessing)

編譯(compilation)

彙編(assemble)

鏈結(linking)

2.1 預處理(生成.i檔案)

預處理器對源**其進行一些文字性質的操作, 主要任務包括:

刪除注釋

插入被 #include 指令包含的檔案內容

替換由 #define 定義的符號

確定**的部分內容是否應該根據一些條件編譯指令進行編譯

預處理會生成乙個.i的檔案。

命令:

gcc -e hello.c -o hello.i
2.2 編譯(生成.s檔案)

編譯器gcc把預處理後的檔案進行語法分析、語義分析以及優化後生成彙編**檔案

命令:

gcc -s hello.i -o hello.s
2.3 彙編(生成.o檔案)

彙編器把彙編**檔案轉換成中間目標檔案

命令:

gcc -c hello.s -o hello.o  // 注意:此處-c為小寫
2.4 鏈結(生成可執行檔案)
gcc hello.o -o hello

Linux系統C語言 編譯除錯

1 gcc gnu compiler collection 分為四個階段 a 預處理pre processing gcc e test.c o test.i b 編譯compiling gcc s test.i o test.s 組合語言檔案 c 彙編assembling gcc c test.s ...

在Ubuntu上進行C語言開發,程式編譯過程

新建.c型別的檔案並開啟 然後儲存退出當前程式。用gcc編譯該程式,如果無報錯則會生成可執行檔案 panda panda gcc o a a.c用ls命令檢視,生成了乙個名為a的可執行檔案,執行該檔案 編譯命令格式 gcc option 生成的檔名 源檔名 g option 生成的檔名 源檔名 備註...

在linux環境下編譯C 程式

下面是乙個儲存在檔案helloworld.cpp中乙個簡單的 c 程式的 單個原始檔生成可執行程式 helloworld.cpp include int main int argc,char argv 程式使用定義在標頭檔案 iostream 中的 cout,向標準輸出寫入乙個簡單的字串。該 可用以...