#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,向標準輸出寫入乙個簡單的字串。該 可用以...