gcc編譯器現在是GNU Compiler Collection的縮寫,但早期是GNU C Compiler的縮寫,是如今Linux發行版的默認編譯器,gcc裏面集成了編譯器,彙編器,連接器,使用gcc能夠實現對編譯過程的徹底控制,gcc能夠在多種環境下編譯C,C++,Object-C,但因爲C++和Object-C都有本身專屬的編譯器,因此這裏僅介紹經常使用的、C語言的功能c++
$gcc [-ESxcloIgO] [-std=] [-Wall] [-Werror] [source.c]
經常使用選項
-E
實現對source.c的預處理,默認生成source.i文件
-S
實現對source.i的編譯,默認生成source.s
-c
實現對source.s的彙編,默認生成source.o
-l
實現對source.o和庫文件的靜態連接(編譯時連接的是靜態連接,靜態庫或共享庫均可以被靜態連接),eg:-ldl就是連接libdl庫,-lstdc++就是連接C++庫
-o
指定輸出文件的文件名
-I
指定頭文件的路徑
-g
用於生成調試信息,須要使用gdb調試器的話須要這個選項
-O
用於進行優化處理
-std=
指定使用C語言的標準,-std=c99
即爲指定使用C99的標準來編譯,缺省使用C89
-Wall
將盡量顯示全部的警告信息
-Werror
將把警告看成錯誤處理
-x
指定源代碼的編程語言,-xc++用來編譯C++程序編程