c++ - 什么是仅 header 库

标签 c++ boost shared-libraries software-distribution

<分区>

我正在为我的下一个项目使用 boost C++ 库,文档说它是一个只有头文件的库。

Most Boost libraries are header-only: they consist entirely of header files containing templates and inline functions, and require no separately-compiled library binaries or special treatment when linking.

所以我的问题是,这是否意味着我不需要为这些 boost 库链接库并且包含 header 是唯一的要求?

什么是仅 header 库,它们与需要构建和链接到二进制文件的标准库有何不同?

最佳答案

顾名思义,仅包含 header 的库仅由 header 组成。 这实际上意味着您不必链接二进制文件,因为该库的全部代码都包含在 header 中,并且当您将它们包含在您的项目中时将编译该代码。

这种库有时是唯一的方法,例如在处理模板时。

关于c++ - 什么是仅 header 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30055777/

相关文章:

Android NDK,两个静态库和链接

go - 寻找有关如何在 golang 中创建 dll/so/dylib 的基本示例/资源

c++ - 针对不同操作系统编译C++静态库的建议?

c++ - c++ Boost循环遍历模型的维度::点

gcc - 强加库加载顺序

c++ - 使用 "if constexpr"和 SFINAE 禁用分支

c++ - 如何将通过绑定(bind)创建的功能对象发送到函数/方法?

c++ - SYSTEM 进程是否可以与非 SYSTEM 进程共享数据?

c++ - 多个 shared_ptr 存储相同的指针

c++ - 如何使用 QCloseEvent 退出程序?