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