一. 常用編譯命令選項
假設源程式檔名為test.c。
1. 無選項編譯鏈結
用法:#gcc test.c
作用:將test.c預處理、彙編、編譯並鏈結形成可執行檔案。這裡未指定輸出檔案,預設輸出為a.out。編譯成功後可以看到生成了乙個a.out的檔案。在命令列輸入./a.out 執行程式。./表示在當前目錄,a.out為可執行程式檔名。
2. 選項 -o
用法:#gcc test.c -o test
作用:將test.c預處理、彙編、編譯並鏈結形成可執行檔案test。-o選項用來指定輸出檔案的檔名。輸入./test執行程式。
3. 選項 -e
用法:#gcc -e test.c -o test.i
作用:將test.c預處理輸出test.i檔案。
4. 選項 -s
用法:#gcc -s test.i
作用:將預處理輸出檔案test.i彙編成test.s檔案。
5. 選項 -c
用法:#gcc -c test.s
作用:將彙編輸出檔案test.s編譯輸出test.o檔案。
6. 無選項鏈結
用法:#gcc test.o -o test
作用:將編譯輸出檔案test.o鏈結成最終可執行檔案test。輸入./test執行程式。
7. 選項-o
用法:#gcc -o1 test.c -o test
作用:使用編譯優化級別1編譯程式。級別為1~3,級別越大優化效果越好,但編譯時間越長。輸入./test執行程式。
8.編譯使用c++ std庫的程式
用法:#gcc test.cpp -o test -lstdc++
作用:將test.cpp編譯鏈結成test可執行檔案。-lstdc++指定鏈結std c++庫。
二. 多原始檔的編譯方法
如果有多個原始檔,基本上有兩種編譯方法:
[假設有兩個原始檔為test.c和testfun.c]
1. 多個檔案一起編譯
用法:#gcc testfun.c test.c -o test
作用:將testfun.c和test.c分別編譯後鏈結成test可執行檔案。
2. 分別編譯各個原始檔,之後對編譯後輸出的目標檔案鏈結。
用法:#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 g 基本命令
gcc g 現在是gnu中最主要和最流行的c c 編譯器 g 是c 的命令,以.cpp為主,對於c語言字尾名一般為.c。這時候命令換做gcc即可。其實是無關緊要的。其實編譯器是根據gcc還是g 來確定是按照c標準還是c 標準編譯鏈結。下面以test.cpp為例 include static int ...
gcc g 基本命令簡介
gcc g 現在是gnu中最主要和最流行的c c 編譯器 g 是c 的命令,以.cpp為主,對於c語言字尾名一般為.c。這時候命令換做gcc即可。其實是無關緊要的。其實編譯器是根據gcc還是g 來確定是按照c標準還是c 標準編譯鏈結。下面以test.cpp為例 命令 g test.cpp 功能 生成...
gcc g 基本命令簡介
gcc g 現在是gnu中最主要和最流行的c c 編譯器 g 是c 的命令,以.cpp為主,對於c語言字尾名一般為.c。這時候命令換做gcc即可。其實是無關緊要的。其實編譯器是根據gcc還是g 來確定是按照c標準還是c 標準編譯鏈結。下面以test.cpp為例 命令 g test.cpp 功能 生成...