gpt4 book ai didi

c++ - 第一次使用 boost - 为什么我在构建时不必明确链接到它?

转载 作者:行者123 更新时间:2023-11-30 00:38:14 25 4
gpt4 key购买 nike

在回答我最近的一个问题时,有人建议我使用 boost 中的一个函数来解决我的问题。这是我第一次使用 boost,所以我添加了以下 .hpp 文件

#include <boost/algorithm/string.hpp>

和函数调用

boost::replace_all(marketPrices, "\\:", "-COLON-");

到我的源文件,然后像往常一样使用 g++ 运行 make 来构建我的应用程序。

在这一点上,我意识到我没有向我的 makefile 中的链接步骤添加任何新库,并且完全预料到链接步骤会失败。令我惊讶的是,它没有失败——不仅如此,而且代码完全按照它应该做的方式运行,没有任何提示。

这至少让我感到惊讶 - g++ 是如何知道要链接到什么以及为什么它会自动这样做?还是我遗漏了 boost 库运行方式的一些基本内容?我知道 boost 使用了很多模板,这是我不太熟悉的 C++ 的一个方面,所以我想知道这是否与我所看到的有关。

最佳答案

一些 boost 库是 header-only 这意味着没有可链接的二进制文件。 boost::thread 等其他库将要求您将新库添加到链接器。

关于c++ - 第一次使用 boost - 为什么我在构建时不必明确链接到它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11422121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com