天天看點

【linux】gcc指令

文法

選項

參數

假設源程式檔案名為test.c

無選項編譯連結

将test.c預處理、彙編、編譯并連結形成可執行檔案。這裡未指定輸出檔案,預設輸出為a.out。

選項 -o

将test.c預處理、彙編、編譯并連結形成可執行檔案test。-o選項用來指定輸出檔案的檔案名。

選項 -E

将test.c預處理輸出test.i檔案。

選項 -S

将預處理輸出檔案test.i彙編成test.s檔案。

選項 -c

将彙編輸出檔案test.s編譯輸出test.o檔案。

無選項連結

将編譯輸出檔案test.o連結成最終可執行檔案test。

選項 -O

使用編譯優化級别1編譯程式。級别為1~3,級别越大優化效果越好,但編譯時間越長。

多源檔案的編譯方法

如果有多個源檔案,基本上有兩種編譯方法: 假設有兩個源檔案為test.c和testfun.c

多個檔案一起編譯

将testfun.c和test.c分别編譯後連結成test可執行檔案。

分别編譯各個源檔案,之後對編譯後輸出的目标檔案連結。

以上兩種方法相比較,第一中方法編譯時需要所有檔案重新編譯,而第二種方法可以隻重新編譯修改的檔案,未修改的檔案不用重新編譯。

繼續閱讀