C++原始碼生成可執行檔案的四個步驟
以GCC編譯器為例:
第一步,預處理,包括語法檢查等工作。
$ gcc -P abc.c
會生成abc.i檔案。
第二步,編譯,由源程式生成組合語言程式碼。
$ gcc -S abc.c
會生成abc.s檔案,這個檔案就是彙編程式碼。
第三步,彙編,編譯器生成目的碼,一個源程式生成一個目的碼。
$ gcc -c abc.c
會生成abc.o檔案
第四部,連結, 連結器從目的碼生成可執行檔案。
$ gcc abc.o
目的碼包括機器碼和符號表(函式及變數名)。連結器的主要作用是通過符號表在庫檔案和其它模組中找到在目的碼中引入或未定義的符號(函式及變數名),將幾個目的碼合成可執行檔案。