GC++(GNU Compiler Collection,GNU編譯器套裝),是一套由 GNU 開發的程式設計語言編譯器。 它是一套&HTTP://www.aliyun.com/zixun/aggregation/37954.html">nbsp; GNU編譯器套裝以 GPL 及 LGPL 許可證所發行的自由軟體,也是 GNU計畫的關鍵區段,亦是自由的類Unix及蘋果電腦 Mac OS X 作業系統的標準編譯器。
GCC 原名為 GNU C 語言編譯器,因為它原本只能處理 C語言。 GCC 很快地擴展,變得可處理 C++。 之後也變得可處理 Fortran、Pascal、Objective-C、JAVA, 以及 Ada與其他語言。
下面是gcc常用編譯選項的說明:
-c選項:
把來源程式編譯為目標代碼而不做連結工作,所以採用該選項的編譯指令不會生成最終的可
執行程式,而是生成一個與來源程式檔案名相同的以.o為尾碼的目的檔案。
例:# gcc -c test.c
上述命令只生成test.o檔。
-S選項:
使用該選項只生成一個尾碼名為.s的組合語言檔。
-e選項:
只對進行預處理。
-v選項:
顯示gcc版本。
例:# gcc -v
-x 選項:
指定編譯語言。
例:# gcc -x c++ test.c
表示採用c++編譯器來編譯test.c程式。
-I 選項:
指定庫及標頭檔路徑。
一般情況下,Linux下的大多數函數都將標頭檔放到系統/usr/include目錄下,而庫檔
則放到/usr/lib目錄下。 但在有些情況下並不是這樣的,在這些情況下,使用GCC編譯時
必須指定所需要的標頭檔和庫檔所在的路徑。
例:# gcc -I /home/include -o test test.c
指定標頭檔路徑是/home/include。
-L 選項:
指定所依賴庫所在路徑。
-static 選項:
強制程式連接靜態程式庫。
-o 選項:
指定生成的可執行程式的檔案名。
例:# gcc -o test test.c
指定編譯test.c檔,並生成可執行檔test。
-w 選項:
禁止輸出警告資訊。
-Werror 選項:
將所有警告轉換為錯誤。
-Wall 選項:
顯示所有的警告資訊。
-O選項:
編譯時使用選項-O可以告訴GCC同時減小代碼的長度和執行時間,其效果等價于-O1。
-O2選項:
選項-O2告訴GCC除了完成所有-O1級別的優化之外,同時還要進行一些額外的調整工作,
如處理器指令調度。
-g選項:
生成調試資訊。
-pg選項:
編譯完成後,額外產生一個性能分析所需資訊。