为什么winpcap需要运行.lib和.dll?

时间:2010-05-04 04:07:42

标签: c dll winpcap

这里可以看到规格:

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

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

3 个答案:

答案 0 :(得分:1)

通常,链接器需要.lib,运行时需要.dll.lib文件称为“导入库”,其中包含告诉链接器可以在关联的.dll文件中找到您正在调用的函数的粘合剂。

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

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

答案 1 :(得分:1)

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

  • 当您编译使用特定库的源代码时,您需要来自该库的头文件*.h,并且您将获得*.o个文件
  • 将这些*.o文件与可执行文件相关联时,您需要*.lib*.dll.a个文件。
  • 运行这些可执行文件时,您需要*.dll个文件

答案 2 :(得分:0)

如果你打电话给一个Dll,你需要一个Lib。您可以在下面看到更多信息链接

这是wikipedia

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