as網路語就是愛師,師就是師父。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為字尾的目標檔案。
as網路語就是愛師,師就是師父。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為字尾的目標檔案。