linux多檔案編譯方法

2021-06-13 18:39:39 字數 974 閱讀 8829

一. 常用編譯命令選項

假設源程式檔名為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 ...