为什么在c++中包含头文件而不是整个库?
Why include headerfiles in c++ and not the entire library
我一直想知道为什么没有人包括整个库,而只是一个头文件。是为了减少冗余。或者一些内存优化的概念。我喜欢了解这些编程的小基础知识。请有人给我解释一下。谢谢你。
为什么没有人包括整个库,而只是一个头文件文件。是为了减少冗余吗
包括整个库(即头文件和源文件)将会更加冗余。现在,您拥有了库本身()。Lib , .dll, 。所以,不管怎样),它包含编译后的代码。您还拥有仅包含定义的头文件。在编写自己的代码时,需要通过定义来了解库中有哪些可以使用。在编译应用程序时,将使用库文件中已编译的代码。因此,每次想要使用库时,不需要自己编译库。
相反,如果要使用完整的库源代码,则必须从头开始自己编译它们。除了不方便之外,这还可能是:
- 非常耗时:如果建图书馆需要5个小时怎么办?
- 很难做到:如果这个库有100个依赖项,你需要构建/配置很多其他的东西才能编译它呢?
包含一堆文件,其中只有少数是我们的程序所需要的。例如,当我们编写一个普通的c程序时,我们不需要加载Math.h头文件,因为这个头文件包含了数学操作。包含这些文件会增加程序的总体编译时间。因此,最好只包含那些在程序中需要函数的头文件,而不是包括整个库。
相关文章:
- 使用mongocxx驱动程序时包含头文件问题
- 如何为包含头文件的目标编写生成文件?
- 如何在 CMakeLists.txt Qt Creator 中包含头文件?
- 当包含头文件的文件不在根项目文件夹中时,如何包含它
- 在生成文件先决条件中包含头文件的原因
- My Project的属性配置正确,但Visual Studio仍然无法打开包含头文件
- 在 PostgreSQL C 扩展中包含头文件
- 是否可以在C++中以间接方式包含头文件
- 是否需要包含头文件?
- 我收到未声明的标识符错误,但我已包含头文件?
- 为什么我们需要构建一个提升库,仅仅包含头文件还不够吗,因为提升是模板
- C++:当顺序真正重要时,如何保证在项目中包含头文件的顺序
- 如何在C++中包含头文件时错误地重载
- 我在C++中无效使用不完整的类型类错误,如何正确包含头文件?
- 虚幻引擎4.16,C++包含头文件
- C++多次包含头文件
- 令牌之前的预期类名 '{' - 包含头文件和 CPP 文件
- 在atom中生成c++包含头保护
- 在.cpp中包含头文件会导致令人讨厌的错误
- 如何列出用于在Qt项目中包含头文件的所有路径