2013-03-07 112 views
5

DLL和LIB文件有什麼區別? DLL文件內部和LIB文件內部是什麼? 是否需要DLL和LIB文件來創建可執行文件?DLL和LIB文件

回答

7

DLL文件是最終的構建產品,這就是您在客戶機器上安裝的產品。它與EXE文件非常相似,結構相同,但可以根據需要加載到另一個程序中。

一個LIB文件是用來建立你的程序,它只存在於你的生成機器上,你不運送它。有兩種。靜態鏈接庫是一包.obj文件,收集到一個文件中。鏈接器在需要解析外部標識符時從文件中選取任何代碼塊。

但與DLL更相關,LIB文件也可以是導入庫。這是一個簡單的小文件,其中包含DLL的名稱和DLL導出的所有函數的列表。當您構建使用DLL的程序時,您需要將其提供給鏈接器,以便它知道外部標識符實際上是由DLL導出的函數。鏈接器使用導入庫將條目添加到EXE的導入表中。然後,Windows會在運行時使用它來確定需要加載哪些DLL來運行該程序。