當前位置:編程學習大全網 - 源碼下載 - gcc是什麽意思?

gcc是什麽意思?

GCC(GNU Compiler Collection,GNU編譯器套件),是由 GNU 開發的編程語言編譯器。它是以GPL許可證所發行的自由軟件,也是 GNU計劃的關鍵部分。

GCC原本作為GNU操作系統的官方編譯器,現已被大多數類Unix操作系統(如Linux、BSD、Mac OS X等)采納為標準的編譯器,GCC同樣適用於微軟的Windows。GCC是自由軟件過程發展中的著名例子,由自由軟件基金會以GPL協議發布。

GCC功能與作用:

1、預處理

命令gcc首先調用cpp進行預處理,在預處理過程中,對源代碼文件中的文件包含(include)、預編譯語句(如宏定義define等)進行分析。

2、編譯

用GCC編譯C/C++代碼時,它會試著用最少的時間完成編譯並且編譯後的代碼易於調試。易於調試意味著編譯後的代碼與源代碼有同樣的執行順序,編譯後的代碼沒有經過優化。

3、連接

當所有的目標文件都生成之後,gcc就調用ld來完成最後的關鍵性工作,這個階段就是連接。在連接階段,所有的目標文件被安排在可執行程序中的恰當的位置,同時,該程序所調用到的庫函數也從各自所在的檔案庫中連到合適的地方。

4、匯編

匯編過程是針對匯編語言的步驟,調用as進行工作,壹般來講,.S為後綴的匯編語言源代碼文件和匯編、.s為後綴的匯編語言文件經過預編譯和匯編之後都生成以.o為後綴的目標文件。

GCC在執行編譯工作的時候,總***需要4步:

1、預處理,生成 .i 的文件[預處理器cpp]

2、將預處理後的文件轉換成匯編語言, 生成文件 .s [編譯器egcs]

3、有匯編變為目標代碼(機器代碼)生成 .o 的文件[匯編器as]

4、連接目標代碼, 生成可執行程序 [鏈接器ld]

常用選項

-ansi 只支持 ANSI 標準的 C 語法。這壹選項將禁止 GNU C 的某些特色, 例如 asm 或 typeof 關鍵詞。

1、-c:只編譯並生成目標文件。

2、-DMACRO:以字符串"1"定義 MACRO 宏。

3、-DMACRO=DEFN:以字符串"DEFN"定義 MACRO 宏。

4、-E:只運行 C 預編譯器。

5、-g:生成調試信息。GNU 調試器可利用該信息。

6、-IDIRECTORY:指定額外的頭文件搜索路徑DIRECTORY。

7、-LDIRECTORY:指定額外的函數庫搜索路徑DIRECTORY。

8、-lLIBRARY:連接時搜索指定的函數庫LIBRARY。

9、-m486:針對 486 進行代碼優化。

  • 上一篇:中國有多少院士?
  • 下一篇:淘寶主圖視頻用產品三維動畫宣傳好不好
  • copyright 2024編程學習大全網