1. 程式人生 > >C/C++多檔案編譯原理

C/C++多檔案編譯原理

在單檔案的情況下(只有一個.h和.c/.cpp)我們只需編譯該檔案即可,例如:

$ gcc main.c -o main 但更多的情況下,一個工程需要分開為多個原始檔,比如 main.c、a.c、b.c 等,那這種情況下是如何編譯的呢?首先要在 main.c 中呼叫 a.c 中的方法,必須包含 a.h 標頭檔案,有了標頭檔案中的函式宣告就確保了 main.c 的函式呼叫的正確性。好了,現在我們執行編譯多檔案命令: $ gcc main.c a.c b.c -o main 整個編譯結果是這樣的:編譯器先把原始檔見 main.c a.c b.c 獨立編譯為 main.obj a.obj b.obj 目標檔案,然後再把其中要用到的函式方法連結到 main.obj 來,最終打包成可執行檔案 main,這就是分離編譯和連結原理。