DLL,库文件和头文件之间有什么区别?


回答 1:

头文件是纯代码。您将使用编译器将其编译为目标文件。

库文件是编译后的代码,作为一堆目标文件收集在一起,成为一个库文件。一旦链接器开始将所有内容链接在一起,它们便成为最终产品的一部分。

DLL是一个完整的项目,已完全完成编译并可以执行。它不是直接可执行的,而是依靠其他项目来调用的。

可执行文件将需要首先编译头,首先链接库,但可以直接执行DLL…


回答 2:

DLL是动态加载库-DLL是MS Windows下的特定文件类型,它允许应用程序在运行时加载库。

库文件只是在不同操作系统上的一系列不同二进制文件类型的通用术语,包括Linux上的.so或ELF文件,Windows上的.dll以及MacOS等上的.dylib。其中所有这些文件都是可用于系统上运行的应用程序的库。头文件是开发系统上的文本文件,可用于描述库的内容,以便编译器可以准备其生成的代码,以便应用程序可以使用相关的库。头文件通常与C / C ++语言关联。


回答 3:

DLL,库文件和头文件之间有什么区别?

DLL代表Windows系统上的共享库,它们将其拼写为动态链接库。共享库是未链接到程序的可执行文件的库。相反,该程序具有一个存根,用于在运行时加载库。这样做有三个优点:

  1. 引用特定库的每个可执行文件都较小,从而节省了一些磁盘空间,下载大小等,这些库代码可以在运行时在进程之间共享,从而减少了多个程序使用时的内存占用量。可以更新共享库与使用它们的可执行文件无关,只要接口不变。

库文件可以是DLL(或Unix / Linux系统上的共享对象),也可以是静态库。静态库链接到使用它们的可执行程序中。也就是说,他们在库中使用的代码在生成时会复制到可执行文件中。

头文件是C或C ++代码的文件。尽管您可以将想要的任何代码放入创建的标头中,但通常它们包含声明,而不是实现。对于C ++中的内联函数和模板,这条线会交叉。否则,您应该坚持声明,而不是头文件中的定义。它们是一种将声明放在一个地方的方法,以便所有使用特定函数的代码都可以使用相同的声明,而不是将它们复制到使用它们的每个文件中。