项目包含的库文件多于dll文件

Project contains more lib than dll files

本文关键字:文件 dll 包含 项目      更新时间:2023-10-16

我试着去理解我下载的一个visual studio项目。有两个文件夹:bin和lib文件夹。lib目录下的lib文件数大于bin目录下的dll文件数

我认为每个dll文件都可以有一个lib文件(目标文件库)。因此,项目中lib文件的数量等于或低于dll文件的数量。但在下载的项目中,情况正好相反?原因是什么?有些lib文件是静态链接的吗?

非常感谢你的帮助

当然有些lib没有相应的dll。如果你将你的项目类型设置为"静态库",你的输出将是一个只能静态链接到另一个库、dll或exe的lib文件。

当你创建一个dll时,一个lib文件被自动创建,它负责方便地包装LoadLibraryGetProcAddress调用。你静态链接到这个库,它会为你加载dll。

没有DLL的库在编译时被静态链接到exe中,而DLL则被编译到它们自己的DLL文件中。dll通常最好允许在不替换exe的情况下编译和交换dll。然而,有些项目只有静态链接的库,这导致一个更大的exe没有dll。