C ++:提升cpp_dec_float独立?

时间:2013-11-14 20:56:42

标签: c++ boost floating-point-precision arbitrary-precision

我刚刚下载了Boost,因为我需要cpp_dec_float.hpp中的精确浮点运算;我四处寻找其他选择,但找不到一个好的选择。

我花了一段时间搞清楚如何安装bcp,现在我终于安装了所有这些。我运行bcpcpp_dec_float.hpp文件复制到我的项目中,瞧瞧!现在,我的C ++应用程序目录中有一个9.5 MB的Boost文件夹。这对我来说是不可接受的。

有没有办法我只能安装cpp_dec_float库而不需要multiprecision部分的剩余部分?如果没有,有没有人知道轻量级(非常重要!),快速,维护和(至少相对)最近库任意 - 精确数字?

2 个答案:

答案 0 :(得分:0)

您可以将Boost not下载到您的应用程序目录。通常,您安装Boost以供所有用户使用。 Boost.Multiprecision是一个仅限标题的库,您只需要它的标题。

如果您需要减少太多空间,可以尝试执行以下操作(我没有对其进行测试)。

遵循Boost安装的标准步骤:

  1. 将Boost来源下载到文件夹my_boost
  2. cd my_boost; mkdir build
  3. 运行./bootstrap(将为您的平台创建bjam可执行文件)
  4. 然后要求Boost仅配置特定的库集。由于库多精度依赖于其他一些,您可能需要全部指定它们:

    1. bjam --build-dir = build - with-multiprecicsion --with-utility --with-type_traits install
    2. 您可以保证不会构建不相关的库。我不太确定不相关的头文件不会被复制到Boost包含库。

      有关更多选项,请参阅“bjam --help”。

答案 1 :(得分:0)

我还注意到bcp复制的文件比它应该多。我的策略:进行编译,然后花10分钟从你的升级目录中删除东西,检查它是否仍然每次编译。 :)