为什么在c++中包含头文件而不是整个库?

Why include headerfiles in c++ and not the entire library

本文关键字:c++ 包含头 文件 为什么      更新时间:2023-10-16

我一直想知道为什么没有人包括整个库,而只是一个头文件。是为了减少冗余。或者一些内存优化的概念。我喜欢了解这些编程的小基础知识。请有人给我解释一下。谢谢你。

为什么没有人包括整个库,而只是一个头文件文件。是为了减少冗余吗

包括整个库(即头文件和源文件)将会更加冗余。现在,您拥有了库本身()。Lib .dll。所以,不管怎样),它包含编译后的代码。您还拥有仅包含定义的头文件。在编写自己的代码时,需要通过定义来了解库中有哪些可以使用。在编译应用程序时,将使用库文件中已编译的代码。因此,每次想要使用库时,不需要自己编译库。

相反,如果要使用完整的库源代码,则必须从头开始自己编译它们。除了不方便之外,这还可能是:

  • 非常耗时:如果建图书馆需要5个小时怎么办?
  • 很难做到:如果这个库有100个依赖项,你需要构建/配置很多其他的东西才能编译它呢?


包含一堆文件,其中只有少数是我们的程序所需要的。例如,当我们编写一个普通的c程序时,我们不需要加载Math.h头文件,因为这个头文件包含了数学操作。包含这些文件会增加程序的总体编译时间。因此,最好只包含那些在程序中需要函数的头文件,而不是包括整个库。