9

DLL 和 LIB 文件有什么区别?DLL 文件里面有什么,LIB 文件里面有什么?创建可执行文件是否需要 DLL 和 LIB 文件?

4

1 回答 1

13

DLL 文件是最终的构建产品,它是您安装在客户机器上的文件。它与 EXE 文件非常相似,结构相同,但可以按需加载到另一个程序中。

LIB 文件用于构建您的程序,它只存在于您的构建机器上,您不会发布它。有两种。静态链接库是一袋 .obj 文件,收集到一个文件中。当需要解析外部标识符时,链接器会从文件中挑选任何代码块。

但与 DLL 更相关的是,LIB 文件也可以是导入库。然后它是一个简单的小文件,其中包含 DLL 的名称和 DLL 导出的所有函数的列表。当您构建使用 DLL 的程序时,您需要将它提供给链接器,以便它知道外部标识符实际上是 DLL 导出的函数。链接器使用导入库将条目添加到 EXE 的导入表中。然后 Windows 在运行时使用它来确定需要加载哪些 DLL 才能运行程序。

于 2013-03-07T15:44:11.370 回答