W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
基于C/C++的編譯器
gcc命令 使用GNU推出的基于 C/C++ 的編譯器,是開放源代碼領域應用最廣泛的編譯器,具有功能強大,編譯代碼支持性能優(yōu)化等特點?,F在很多程序員都應用 GCC,怎樣才能更好的應用 GCC。目前,GCC 可以用來編譯 C/C++、FORTRAN、JAVA、OBJC、ADA等語言的程序,可根據需要選擇安裝支持的語言。
gcc(選項)(參數)
-o:指定生成的輸出文件;
-E:僅執(zhí)行編譯預處理;
-S:將C代碼轉換為匯編代碼;
-wall:顯示警告信息;
-c:僅執(zhí)行編譯操作,不進行連接操作。
C源文件:指定C語言源代碼文件。
常用編譯命令選項
假設源程序文件名為test.c
無選項編譯鏈接
gcc test.c
將 test.c 預處理、匯編、編譯并鏈接形成可執(zhí)行文件。這里未指定輸出文件,默認輸出為 a.out。
選項 -o
gcc test.c -o test
將 test.c 預處理、匯編、編譯并鏈接形成可執(zhí)行文件 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 鏈接成最終可執(zhí)行文件 test。
選項 -O
gcc -O1 test.c -o test
使用編譯優(yōu)化級別1編譯程序。級別為1~3,級別越大優(yōu)化效果越好,但編譯時間越長。
多源文件的編譯方法
如果有多個源文件,基本上有兩種編譯方法:
假設有兩個源文件為 test.c 和 testfun.c
多個文件一起編譯
gcc testfun.c test.c -o test
將 testfun.c 和 test.c 分別編譯后鏈接成 test 可執(zhí)行文件。
分別編譯各個源文件,之后對編譯后輸出的目標文件鏈接。
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
以上兩種方法相比較,第一中方法編譯時需要所有文件重新編譯,而第二種方法可以只重新編譯修改的文件,未修改的文件不用重新編譯。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: