一. 常用編譯命令選項
假設源程式檔名為test.c。
1. 無選項編譯鏈結
用法:#gcc test.c
2. 選項 -o
用法:#gcc test.c -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
7. 選項-o
用法:#gcc -o1 test.c -o test
作用:使用編譯優化級別1編譯程式。級別為1~3,級別越大優化效果越好,但編譯時間越長。
二. 多原始檔的編譯方法
如果有多個原始檔,基本上有兩種編譯方法:
[假設有兩個原始檔為test.c和testfun.c]
1. 多個檔案一起編譯
用法:#gcc testfun.c test.c -o 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
以上兩種方法相比較,第一中方法編譯時需要所有檔案重新編譯,而第二種方法可以只重新編譯修改的檔案,未修改的檔案不用重新編譯。
3. 如果要編譯的檔案都在同乙個目錄下,可以用萬用字元gcc *.c -o 來進行編譯.
多檔案的linux編譯
編譯虐我千百遍,我待編譯如初戀。我想要編譯乙個單檔案allinone.cc。這個檔案包含了其他的標頭檔案,目錄如下。為此,我在 shell中輸入 g allinone.cc std c 11 lmuduo net lmuduo base lpthread結果編譯失敗,報錯 雖然allinone.cc...
Linux 下Fortran多檔案編譯
或者ifort o exe name main.f90 fun.f90 方法二 在主程式main.f90 中加入include fun.f90 語句,然後在linux下用fortran命令編譯,命令如下 ifort o exe name main.f90 方法三 分步驟編譯,命令如下 ifort c...
Linux下Fortran多檔案編譯
或者ifort o exe name main.f90 fun.f90 方法二 在主程式main.f90中加入include fun.f90 語句,然後在linux下用fortran命令編譯,命令如下 ifort o exe name main.f90 方法三 分步驟編譯,命令如下 ifort c ...