gcc的常用参数
-c 編譯成目標(biāo)文件.o(只編譯不鏈接)? ?gcc -c hello.s -o hello.o
-o 指出輸出文件名,輸出文件名跟在-o后面。如果不使用這一選項(xiàng),則缺省的輸出文件名為a.out。gcc hello.c -o hello.exe(在Linux中該項(xiàng)后綴名無(wú)要求)???? ./hello.exe? ? gcc hello.c? 則最終輸出的文件名為a.out? ? ?其次-o參數(shù)在輸出幾個(gè)中間文件時(shí)也會(huì)用到
-S 只編譯不匯編,生成匯編代碼。? ? ? -E 只進(jìn)行預(yù)編譯,不做其它處理? ? ? -g? 在生成的可執(zhí)行程序中包含標(biāo)準(zhǔn)調(diào)試信息 ??-static 鏈接靜態(tài)庫(kù)? ? ? -v 打印編譯器內(nèi)部編譯各過(guò)程的命令行信息和編譯器的版本號(hào)? ? ? -I dir在頭文件的搜索路徑列表中添加dir目錄? ? ?-L dir在庫(kù)文件的搜索路徑列表中添加dir目錄? ? -w 禁止所有的報(bào)警? ? ? ? -Dmacro或-D定義指定的宏,使它能夠通過(guò)源碼中的#ifdef進(jìn)行檢驗(yàn)? ? ? ? -O、-O2、-O3 在優(yōu)化狀態(tài)中打開(kāi),該選項(xiàng)不能與-g選項(xiàng)聯(lián)合使用? ? ? ? ? ? -Wall 給出警告信息,但是不會(huì)取消編譯? ? ? ? ? ? ?-Werror 在發(fā)生警告時(shí)取消編譯操作,即將警告看作是錯(cuò)誤? ? ? ? ? ? ? ? -pedantic 嚴(yán)格要求源代碼符合ANSI標(biāo)準(zhǔn)
注意區(qū)分大小寫!
總結(jié)