提升精简版?

时间:2009-01-13 22:23:10

标签: c++ boost

我听说有一个轻量级的boost实现,其唯一的智能指针和一些其他非常基本的东西。我想我听说它也没有使用任何操作系统功能。我试着搜索但没有发现任何东西。有谁知道它的名称或者不需要操作系统调用的boost风格智能指针的实现?

6 个答案:

答案 0 :(得分:14)

您可以使用bcp,但请记住使用 Boost库只会让您为使用的内容付费 - 智能指针全部以仅标头方式实现,这意味着没有OS调用,没有因此,如果你没有分发源代码,你可以下载完整的boost集,并且只使用你需要的位,而不会导致你的应用程序任何(未保留的)悲伤。

答案 1 :(得分:7)

您可以使用bcp utility仅提取支持给定库所需的完整树的子集。我不知道有任何独立的剥离Boost实现。

答案 2 :(得分:4)

“boost lite”通常用于指代一种提升使用方式,您可以将自己限制为“仅限标题”的提升组件。所以这包括大量模板化的智能指针头和boost :: bind,但不包括regex或program_options之类的东西,它们需要你链接到库以获得大部分功能。

如果您正在构建和发布.libs,boost-lite样式意味着您不会在boost libs上引入链接依赖关系(对下游用户不那么麻烦),并且如果您广泛使用pimpl idiom你可以在内部使用智能ptrs等,而lib用户甚至不会在你的标题中看到提升类型。这可以是一种有用的变更管理技术,用于在保守的环境中通过隐身引入增强。

即它只是使用普通boost安装的一种特殊方式,而不是一些单独的包。

答案 3 :(得分:1)

智能指针是tr1 extensions to the standard library的一部分。如果您的编译器供应商包含它可能是要走的路。我知道gcc和Visual Studio 2008的2个例子,它们都受到支持。

答案 4 :(得分:0)

使用boost bcp

加强

答案 5 :(得分:0)

如果我没有记错的话,我认为你只能链接你需要使用的助推部分?我不认为你可以链接太过提升*,因为它。