我們一般使用命令:
gcc main.c
把main.c生成可執行文件a.out
gcc helloWorld.c可分解成以下四個步驟:
預處理(Preprocessing)
gcc -E main.c -o main.i
預處理的過程主要處理包括以下過程:
處理#include預編譯指令,將被包含的文件插入到該預編譯指令的位置.
處理所有的條件預編譯指令(#if #ifdef #elif #else #endif等等),并且展開所有的宏定義.
刪除所有注釋
編譯(Compilation)
gcc –S main.i –o main.s
編譯過程就是把預處理完的文件進行一系列的詞法分析,語法分析,語義分析及優化后生成相應的匯編代碼
匯編(Assembly)
gcc –c main.c –o main.o
匯編器是將匯編代碼轉變成機器可以執行的命令,每一個匯編語句幾乎都對應一條機器指令.
鏈接(Linking)
gcc -o main main.o
鏈接程序運行需要的一大堆目標文件,以及所依賴的其它庫文件,最后生成可執行文件。