头文件: 告诉编译器如何调用某些功能(不知道该功能实际如何工作)的文件称为头文件。它们包含函数原型。它们还包含用于库的数据类型和常量。我们使用 #包括 在程序中使用这些头文件。这些文件以 h 扩大
图书馆: 库是实现实际功能的地方,即它们包含函数体。图书馆主要有两类:
- 静止的
- 共享还是动态
静态: 静态库包含与最终用户应用程序链接的目标代码,然后它们成为可执行文件的一部分。这些库专门用于 编译时 这意味着当用户想要编译他或她的C或C++程序时,图书馆应该在正确的位置。在窗户里,它们以 lib先生 扩展和带有 A. 给马科斯。
共享或动态: 这些图书馆只在 运行时 i、 用户无需使用这些库就可以编译自己的代码。简而言之,这些库在编译时被链接以解析未定义的引用,然后将其分发给应用程序,以便应用程序可以在运行时加载它。例如,当我们打开游戏文件夹时,我们可以找到很多 .dll (动态链接库)文件。由于这些库可以由多个程序共享,因此它们也称为共享库。这些文件以 .dll 或 lib先生 扩展。在窗户里,它们以蓝色结尾。dll扩展。
例子:数学。h 是一个头文件,其中包括sqrt()、pow()等函数调用的原型 libm。自由党 , 利伯姆。自由党 , 利伯姆。动态链接库 是一些数学库。简单来说,头文件就像一张名片,而图书馆就像一个真实的人,所以我们使用名片(头文件)来联系真实的人(图书馆)。
让我们以表格的形式来看看这两者之间的区别,这样就可以很容易地进行比较:
头文件 |
图书馆文件 |
---|---|
他们有分机。H | 他们有分机。自由党 |
它们包含函数声明甚至宏。 | 它们包含函数定义 |
它们可以在Turbo编译器中的“include sub directory”中找到。 | 它们可以在Turbo编译器中的“lib sub directory”中找到。 |
头文件是人类可读的。因为它们是源代码的形式。 | 图书馆文件是非人类可读的。因为它们是机器代码的形式。 |
我们程序中的头文件是通过使用一个命令#include包含的,该命令由预处理器内部处理。 | 我们程序中的库文件在最后阶段由名为linker的特殊软件包含。 |