1.預處理器
c++的預處理器是詞法預處理器,主要是進行文本替換,宏展開,刪除註釋這類簡單工作。
gcc -E 選項可以得到預處理後的結果,擴展名為 .i; c++預處理不做任何語法檢查,語法檢查
是編譯器要做的事情,預處理之後僅僅是得到了真正的源代碼
2.編譯器
將文本文件.i翻譯成文本文件.s 得到彙編語言程序,改種語言程序中的每條語句都以一種
標準的文本格式確切的描述了一條低級機器語言指令;gcc -s 選項可以得到編譯後的彙編碼
擴展名為.s;
3.彙編器
將.s翻譯成機器語言指令,放入.o文件中 gcc -c選項可以得到.o文件;.o文件是一個二進制
文件,是字節編碼而不是字符;
4.鏈接器
將.o文件及需要用到的庫 .a或.so 打包成可執行文件。
===========華麗的分割線=========
一份源文件經過 詞法分析;語法分析;語義檢查中間代碼生成;代碼優化;目標代碼生成;最終得到
可執行文件。