編譯程序(Compiler,compiling program)也稱爲編譯器,是指把用高級程序設計語言書寫的源程序,翻譯成等價的機器語言格式目標程序的翻譯程序。作爲一個程序員,我們應該瞭解它的過程,才能 更好的工作和學習。
編譯過程課分爲下列幾個過程
編譯C程序涉及很多多步驟,第一步稱之爲預處理階段,C預處理器在源代碼編譯之前對其進行一些文本性質的操作。
註釋的刪除
插入#include指令包含的文件內容,定義和替換#include指令定義的符號以及確定代碼的部分是否應該根據一些條件編譯指令進行編譯。
在此階段完成後,*.c文件將變成*.i
第二步,便是編譯
把用高級程序設計語言書寫的源程序,翻譯成等價的計算機彙編語言或機器語言書寫的目標程序的翻譯程序。
在次步驟完成後,*.i文件就變成了*.s
第三步,就是彙編
因爲電腦只讀的懂彙編語言或者機器語言,看不懂源代碼的。
彙編代碼:彙編語言編寫的程序,機器不能直接識別,要由一種程序將彙編語言翻譯成機器語言,這種起翻譯作用的程序叫彙編程序,彙編程序是系統軟件中語言處理系統軟件。
在次步驟完成後,*.s文件就變成了*.o
第四步,便是鏈接
通過調用鏈接器來鏈接程序運行需要的一大堆目標文件,以及所依賴的其它庫文件,最後生成可執行文件。
還有很多值得注意的地方,想深入的同學建議大家去看看 《C語言深度剖析》