2

规格可以在这里看到:

http://www.winpcap.org/docs/docs_40_2/html/group__wpcapsamps.html

这很奇怪,要么.lib.dll足够了,IMO 就足够了,为什么两者都需要?

4

3 回答 3

1

通常,您需要.lib用于链接器,并且.dll在运行时。该.lib文件称为“导入库”,其中包含告诉链接器您正在调用的函数可以在相关.dll文件中找到的胶水。

您可能会发现.dll在运行时只需要该文件。

这是 Win32 DLL 项目广泛使用的布局,不仅限于 Winpcap。

于 2010-05-04T04:18:02.513 回答
1

它不仅与winpcap,所有外部库都是这样的。

  • 当您编译使用特定库的源代码时,您需要*.h该库中的头文件,您将获得*.o文件
  • 当您将这些*.o文件链接到可执行文件时,您将需要*.lib*.dll.a文件。
  • 当您运行这些可执行文件时,您将需要*.dll文件
于 2010-05-04T04:32:37.343 回答
0

如果您要调用 Dll,则需要一个 Lib。您可以查看以下链接以获取更多信息

这是来自维基百科

在构建或链接以创建可执行文件时,链接到动态库通常通过链接到导入库(您的 .LIB)来处理。然后,创建的可执行文件包含一个导入地址表 (IAT),通过该表引用所有 DLL 函数调用(每个引用的 DLL 函数在 IAT 中包含其自己的条目)。在运行时,IAT 会填充适当的地址,这些地址直接指向单独加载的 DLL 中的函数。

于 2010-05-04T04:17:12.390 回答