1. 預處理 (預處理器)
預處理階段主要處理 #include 和 #define ,它把#include包含進來的 .h 檔案插入到 #include 所在的位置,把源程式中使用到的用#define 定義的巨集用實際的字串代替。
2. 編譯階段(編譯器)
在這個階段,編譯器先要檢查**的規範性和語法錯誤等,以確定**的實際要做的工作,檢查無誤後將**翻譯成組合語言。
3. 彙編階段(彙編器)
將作為中間結果的彙編**翻譯成機器**,即目標**,生成的是二進位制檔案
4. 鏈結階段(鏈結器)
將函式庫與程式鏈結(有動態庫和靜態庫之分),具體可自行了解。最後就生成了可執行檔案 xx.exe
預處理,編譯, 優化, 彙編, 鏈結
編譯,編譯程式讀取源程式 字元流 對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編 再由匯程式設計序轉換為機器語言,並且按照作業系統對可執行檔案格式的要求鏈結生成可執行程式。c源程式標頭檔案 預編譯處理 cpp 編譯程式本身 優化程式 匯程式設計序 鏈結程式 可執行檔案 1.編譯預處理讀...
預處理,編譯, 優化, 彙編, 鏈結
編譯程式讀取源程式 字元流 對之進行詞法和語法的分析,將高階語言指令轉換為功能等效的彙編 再由匯程式設計序轉換為機器語言 目標檔案 並且按照作業系統對可執行檔案格式的要求鏈結生成可執行程式。c源程式標頭檔案 預編譯處理 cpp 編譯程式本身 優化程式 匯程式設計序 鏈結程式 可執行檔案 1.編譯預處...
預處理,編譯,彙編和鏈結
1 我們有乙個hello.c檔案,用最簡單的命令gcc hello.c 生成 a.out 這個過程可以分為四個步驟 預處理 prepressing 編譯 compilation 彙編 assembly 和鏈結 linking 一 預編譯 1.將所有的 define刪除,並展開所有的巨集定義 2.處理...