1. 程式人生 > >c++文件編譯的一些說明

c++文件編譯的一些說明

動態 內部 完全 ++ 處理 dll文件 linux 註冊 dll

1,頭文件只在於預處理階段用於完全包含該頭文件的內容,每個c文件是一個編譯單元,類定義和類聲明,變量和函數聲明,類內聯實現是內部鏈接,全局變量和函數的定義以及類外部實現是具有全局鏈接性,假設將所有c單元合並成整個項目,那麽全局鏈接指的是全項目內不可重復,內部鏈接指的是每個單元內不可重復。

2,對於windows項目來說,頭文件要指定路徑,靜態庫要指定庫路徑和每個lib庫文件的名字(不管是作為靜態庫或鏈接文件),lib文件是靜態庫。用dll動態庫時,lib文件當做鏈接文件使用,而本身不含實現代碼,這時需要將對應dll文件的所在目錄(一般是bin文件夾)註冊到path環境變量中。

3,linux下so動態庫和a靜態庫使用方法一樣,只需要頭文件路徑,庫路徑和庫文件名即可,比windows方便一些。

c++文件編譯的一些說明