天天看點

VC++程式編譯連結的原理與過程

我們在EX10這個工程中,選擇菜單中「Build」→「Rebuild All」,重新編譯所有的工程檔案,可以看到如下輸出:

VC++程式編譯連結的原理與過程

    從這個輸出中,我們可以看到可執行程式EX10.exe的産生,經過了兩個步驟:首先,C++編譯器對工程中的三個源檔案fish.cpp、animal.cpp單獨進行編譯(Compiling…)。在編譯時,先由預處理器對預處理指令(#include、#define和#if)進行處理,在記憶體中輸出翻譯單元(一種臨時檔案)。編譯器接受預處理的輸出,将源代碼轉換成包含機器語言指令的三個目标檔案(擴充名為obj的檔案):EX10.obj、fish.obj、animal.obj.注意,在編譯過程中,頭檔案不參與編譯;在EX10工程的Debug目錄下,我們可以看到編譯生成的obj檔案。接下來是連結過程(Linking…),連結器将目标檔案和你所用到的C++類庫檔案一起連結生成EX10.exe.整個編譯連結的過程如圖2.18所示。

VC++程式編譯連結的原理與過程

    好了,到此C++的知識就講解完畢了。當然C++的内容還有很多,但這一章的内容,對于我們從事VC++開發已經足夠了,還有部分C++内容,會在後面的章節中講解。休息一下,然後繼續我們的VC++之旅。

繼續閱讀