.dll、.lib和.h文件有什么区别?

70

在一个项目中,为什么要包含一些 *.lib、.h 或其他文件?这些文件有什么用途?

3个回答

99
  • .h:头文件,是一个包含声明的源文件(与包含实现的.cpp、.cxx等文件相反)

  • .lib:静态库可能包含代码,也可能只是链接到动态库。不管怎样,它都是编译后的代码,你需要将它与你的程序链接在一起。静态库在链接时被包含在你的.exe文件中。

  • .dll:动态库。和静态库一样,但你需要在部署时将它与你的.exe文件一起加载,因为它是在运行时加载的。


需要注意的是,还有一种被称为“导入库”的东西,请查看https://dev59.com/VHA65IYBdhLWcg3w5zDB。 - Wakan Tanka

31
  • H声明库的接口,包括函数、结构体和常量。用C语言编写。
  • LIB声明动态链接库(DLL)的二进制接口,包含库的二进制代码。
  • DLL动态链接库 - 应用程序与系统共享这些库,或者您可以使用它们来组织您的代码库。
  • DEFDLL导出函数的文本描述。

-6

*.dlb类似于静态库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接