1. 程式人生 > >gcc命令

gcc命令

警告 .net 兩種 處理 可執行文件 一中 TE 文件鏈接 假設

{ 鏈接 }

gcc命令

語法

gcc(選項)(參數)
-o:指定生成的輸出文件;
-E:僅執行編譯預處理;
-S:將C代碼轉換為匯編代碼;
-wall:顯示警告信息;
-c:僅執行編譯操作,不進行連接操作。 

參數

C源文件:指定C語言源代碼文件。

實例

gcc test.c

選項 -o將test.c預處理、匯編、編譯並鏈接形成可執行文件test。-o選項用來指定輸出文件的文件名。

gcc test.c -o test

選項 -E將test.c預處理輸出test.i文件。

gcc -E test.c -o test.i

選項 -c將預處理輸出文件test.i匯編成test.s文件。

gcc -E test.c -o test.i

選項 -O:使用編譯優化級別1編譯程序。級別為1~3,級別越大優化效果越好,但編譯時間越長。

gcc -O1 test.c -o test

多源文件的編譯方法

如果有多個源文件,基本上有兩種編譯方法:

【問題】假設有兩個源文件為test.c和testfun.c

多個文件一起編譯:將testfun.c和test.c分別編譯後鏈接成test可執行文件。

gcc testfun.c test.c -o test

分別編譯各個源文件,之後對編譯後輸出的目標文件鏈接。

gcc -c testfun.c    #將testfun.c編譯成testfun.o
gcc -c test.c         #將test.c編譯成test.o
gcc -o testfun.o test.o -o test    #將testfun.o和test.o鏈接成test

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

  

gcc命令