gcc 常用參數介紹
什麼參數都不加
1
$ gcc hello.c
直接產生a.out
無連結選項
1
$ gcc hello.c -o hello
直接產生可執行文件hello
-x language
filename
設定文件所使用的語言,使預設的附檔名失效,對之後的檔案也有效,除非你再次設定這個參數。可以使用的語言有C/C++等。1
$ gcc -x c hello.pig
上面這個例子,就是將附檔名pig的檔案當作C語言來編譯。如果在後面加上了
-x none
filename,則會抵銷前面的作用,回復復育社規則來編譯。1
$ gcc -x c hello.pig -x none hello2.c
-c
將程式碼生成至obj file後停止,預設附檔名是.o。-S
將程式生成至Assembler Code後停止,預設附檔名是.s。-E
只處理Preprocess的部份,跟上面兩者不同,不會產生檔案,需要用Redirect的方式產生文件。1
2$ gcc -E hello.c > hello.i
$ gcc -E hello.c | less-o
指定輸出檔案名稱,可以跟上面參數合併使用。1
2
3$ gcc -S hello.c -o hello.asm
$ gcc -c hello.c -o hello.obj
$ gcc hello.c -o hello.exe-ansi
關閉GNU C和ANSI C不相容的部分,在C模式相當於c90,在C++模式相當於C++98。如asm
、``inline、
typeof等。如果你不考慮寫個標準的ISO C語言的話,在
-ansi參數下還是能夠用
asm、
inline、
typeof`等GCC拓展語法繼續工作。如果要避免這種情況,可以配合底下這個參數。-pedandic
對所有不合乎C/C++ Standard的與法發出嚴重警告,