歡迎您光臨本站 註冊首頁
小知識  >  編程 >

GCC編譯器執行過程

admin @ 2015-09-10 reply:0
←手機掃碼閱讀

雖然我們稱GCC是C語言的編譯器,但使用gcc由C語言源代碼文件生成可執行文件的過程不僅僅是編譯的過程,而是要經歷四個相互關聯的步驟∶預處理(也稱預編譯,Preprocessing)、編譯(Compilation)、彙編(Assembly)和鏈接(Linking)。

命令gcc首先調用cpp進行預處理,在預處理過程中,對源代碼文件中的文件包含(include)、預編譯語句(如宏定義define等)進行分析。接著調用cc1進行編譯,這個階段根據輸入文件生成以.i為後綴的目標文件。

彙編過程是針對彙編語言的步驟,調用as進行工作,一般來講,.S為後綴的彙編語言源代碼文件和彙編、.s為後綴的彙編語言文件經過預編譯和彙編之後都生成以.o為後綴的目標文件。當所有的目標文件都生成之後,gcc就調用ld來完成最後的關鍵性工作,這個階段就是連接。在連接階段,所有的目標文件被安排在可執行程序中的恰當的位置,同時,該程序所調用到的庫函數也從各自所在的檔案庫中連到合適的地方。

[admin via ] GCC編譯器執行過程已經有1181次圍觀

http://coctec.com/room/show-63.html