首頁 > 系統教程 > Linux > 詳解命令-GCC

詳解命令-GCC

王林
發布: 2024-03-25 21:27:09
轉載
1228 人瀏覽過

詳解命令-GCC

#文法
gcc(选项)(参数)
登入後複製
選項
-o:指定生成的输出文件;
-E:仅执行编译预处理;
-S:将C代码转换为汇编代码;
-wall:显示警告信息;
-c:仅执行编译操作,不进行连接操作。
登入後複製
參數
C源文件:指定C语言源代码文件。
登入後複製
實例

常用編譯指令選項

假設原始程式檔案名稱為test.c

無選項編譯連結

gcc test.c
登入後複製

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

選項 -o

gcc test.c -o test
登入後複製

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

選項 -E

gcc -E test.c -o test.i
登入後複製

將test.c預處理輸出test.i檔。

選項 -S

gcc -S test.i
登入後複製

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

選項 -c

gcc -c test.s
登入後複製

將彙編輸出檔test.s編譯輸出test.o檔。

無選項連結

gcc test.o -o test
登入後複製

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

選項 -O

gcc -O1 test.c -o test
登入後複製

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

多原始檔的編譯方法

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

假設有兩個原始檔為test.c和testfun.c

多個檔案一起編譯

gcc testfun.c test.c -o test
登入後複製

將testfun.c和test.c分別編譯後連結成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的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:linuxprobe.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板