gcc編譯源文件共有4個過程,預處理、編譯、彙編、鏈接。
預處理:
命令:gcc -E test.c -o test.i (-o後面指定生成文件的命名)
過程:展開宏定義(#define),處理編譯條件指令(#if #ifndef等),插入引用的頭文件(#include),刪除註釋,添加行號和文件標識。
結果:生成.i文件,一般的文本編輯器都能打開
編譯:
命令:gcc -S test.i -o test.s
過程:詞法分析,語法分析,語義分析,生成相應的彙編代碼
結果:生成.s文件,一般的文本編輯器都能打開
彙編:
命令:gcc -c test.s -o test.o
過程:將彙編語言轉換成二進制文件
結果:生成.o文件,一般的文本編輯器無法打開,二進制文件都是0、1
鏈接:
命令:gcc test.o -o test
過程:鏈接動態庫、靜態庫
結果:生成可執行文件
我們編譯源文件的時候,可以分步編譯,也可以使用gcc test.c -o test直接生成可執行文件。將多個源文件編譯輸出時,需要一起進行gcc編譯,可利用Makefile文件來實現。
分步編譯如下:
最後得到main可執行文件,在cmd命令窗口下輸入main+回車,即可運行main可執行文件。