Boost
发布
arrow_drop_down
上一版本 (1.64.0)
2017年4月12日
依赖项
此版本增加了 7 个依赖项 (涉及 6 个库),并移除了 3 个依赖项 (涉及 3 个库)。
平台 文件 SHA256 哈希
Unix boost_1_64_0.tar.bz2 7bcc5....83332
boost_1_64_0.tar.gz 0445c....3a108
Windows boost_1_64_0.7z 49c6a....8d155
boost_1_64_0.zip b9997....97523
Windows (二进制) boost_1_64_0-bin-msvc-all-32-64.7z 1c6c9....9b843
boost_1_64_0-msvc-10.0-32.exe 721c6....72fc3
boost_1_64_0-msvc-10.0-64.exe bc59f....33b18
boost_1_64_0-msvc-11.0-32.exe 3f277....6fc6e
boost_1_64_0-msvc-11.0-64.exe f5b88....56ff0
boost_1_64_0-msvc-12.0-32.exe 0c308....3e809
boost_1_64_0-msvc-12.0-64.exe e567e....3cd4c
boost_1_64_0-msvc-14.0-32.exe 42433....36a20
boost_1_64_0-msvc-14.0-64.exe 74d5b....c8c5c
boost_1_64_0-msvc-14.1-32.exe c3b52....699a5
boost_1_64_0-msvc-14.1-64.exe b4140....d9d8e
boost_1_64_0-msvc-8.0-32.exe 5603d....6c4d4
boost_1_64_0-msvc-8.0-64.exe ba58a....bc90d
boost_1_64_0-msvc-9.0-32.exe 20c13....91c6f
boost_1_64_0-msvc-9.0-64.exe 99ff8....f4254

版本 1.64.0

2017年4月19日 17:42 GMT

文档

第三方下载

新库

  • Process:
    • 由 Klemens D. Morgenstern 提供的库,它提供跨平台的方法,允许您:创建子进程 为子进程设置流 通过流(同步或异步)与子进程通信 等待进程退出(同步或异步) 终止进程 错误功能:GitHub #67:“group.wait() 不返回”。

更新的库

  • Any:
    • 抑制了关于返回临时引用(reference to temporary)的虚假警告
    • 现在使用 boost::addressof 而不是直接取地址 #12615
    • 头文件不再使用双引号包含 #12053
    • CI 测试现在使用 addressleakundefined C++ 运行时错误检查器运行
    • 添加了更多测试
  • Atomic:
    • 修复了在 32 位 x86 上使用 gcc 版本早于 4.7 及兼容编译器时的 64 位原子操作中可能发生的错误代码生成。
  • Config:
    • 添加了 BOOST_NO_CXX11_SFINAE_EXPR 缺陷检测。
  • Container:
  • Context:
    • 新 API:call/cc
    • 已弃用 API:execution-context
    • 修复了 MIPS 上的堆栈操作
    • #12719 使用 mingw-w64 构建时发生段错误
    • #12948 Android ARM 上的 snprintf 结果不符合预期
    • #38:context_entry() 在 macOS 上崩溃
    • #39:在 Android 上使用 Clang 3.8 时,aarch64 出现未知指令 .cpu
    • #41:std::bind() 与 invoke() 结合使用失败
    • #46:“continuation 成员函数的重命名”遗漏了一个地方
    • #50:ppc64/sysv/elf 上的 fcontext 程序集错误
  • Conversion:
    • 文档已移植到 Quickbook(感谢 Mikhail Maksimov 的移植)
    • 修复了测试中的内存泄漏(感谢 Mikhail Maksimov 的修复)
    • CI 测试现在使用 addressleakundefined C++ 运行时错误检查器运行
  • Core:
    • 在支持 C++11 constexpr 和 SFINAE 表达式的编译器上实现了 constexpr addressof(Glen Fernandes)。BOOST_CORE_NO_CONSTEXPR_ADDRESSOF 宏指示何时 constexpr addressof 不可用。
    • lightweight_test.hpp 中,为测试容器内容添加了新的宏 BOOST_TEST_ALL_EQBOOST_TEST_ALL_WITH(Bjorn Reese)。
  • Coroutine2:
    • #4:coroutine2<> 不接受 std::bind
  • DLL:
    • 修复了 WinCE 编译
    • 添加了 boost:dll::symbol_location_ptr 函数,用于获取无法解引用的指针(例如 void 指针)的符号位置
    • 修复了 detail::aggressive_ptr_cast 中针对成员指针的未定义行为
    • 修复了实验性智能导入中的内存泄漏
    • 修复了警告
    • CI 测试现在使用 addressleak C++ 运行时错误检查器运行
  • Fiber:
    • (un)bounded_channel<> 已移除
    • #100:ASIO:unbuffered_channel / scheduler notify 问题
    • #105:skynet 变体在 Windows 上崩溃
    • #106:将 fixed_stack 分配器传递给 async/packaged_task 无法编译
    • #110:ARMv6 上编译错误
    • #111:buffered_channel::try_value_pop() 中的无限循环
    • #114:buffered_channel::try_pushpop` 中不唤醒 fiber
  • 几何:
    • 改进
      • 矩阵变换现在基于 Boost.QVM 而不是 Boost.Ublas
    • 破坏性更改
      • ublas_transformer 已重命名为 matrix_transformer
      • 为 rtree index::dynamic_* 参数的构造函数添加了 explicit 修饰符
      • strategy::area::huiller 被 strategy::area::spherical 替换
    • 已解决的问题
      • 363 geometry/index/parameters.hpp 中遗漏的 include
      • 364 当参数使用不同点类型时,within(Linear, Areal) 编译错误
      • 370 输入为 Ring 时,Buffer 段错误
    • 已解决的工单
      • 11899 boost::geometry::equals 不处理开放多边形
      • 11930 area::huiller 策略的精度不足
      • 11931 包含极点的多边形球面面积计算错误
      • 12410:correct() 中缺乏对地理坐标系的支持
      • 12566 当 pair 值包含原始指针时,equal_to<> 中的模板实例化模棱两可
      • 12861 stdlibc++ (gcc 4.8.2) 中影响 rtree 的段错误
      • 12885 使用 BOOST_THROW_EXCEPTION 而不是 throw
    • 错误修复
      • 修复 get_turn_info 中的 distance_measure
  • 哈希:
    • 当 std::unary_function 和 std::binary_function 不可用时,停止使用它们。
  • Interprocess:
  • Intrusive:
  • LexicalCast:
    • 修复了多个警告 #11842
    • CI 测试现在使用 addressleakundefined C++ 运行时错误检查器运行
  • 数学:
    • 大力确保所有 C99 中的函数都与 Annex F 兼容。
    • 提高了 Bessel 函数 I0、I1、K0 和 K1 的精度,请参阅 12066
  • 多索引容器:
    • 修复了在存在多个排名索引时,由于歧义引用导致的 bug(ticket #12955)。
    • 维护修复。
  • Multiprecision:
    • cpp_bin_float 中防止将非规格化浮点数转换为非规格化浮点数时发生双重舍入。请参阅 #12527
    • 修复了非常小的整数的整数平方根 bug。请参阅 #12559
    • 修复了 cpp_bin_float 中转换为有符号零(signed-zero)的错误。
    • cpp_bin_float 的舍入代码更改为在任意位置舍入,以便我们可以用于转换,请参阅 #12527
    • 提高了 128 位位扫描操作的性能。
    • 修复了 cpp_bin_float 中非常小数量的减法。请参阅:#12580
    • 将错误处理与 C99 Annex F 对齐。请参阅 #12581
    • 修复了简单的 cpp_int 的按位导出,请参阅 #12627
    • 修复了 ilogb(以及使用它的代码),以在参数为零时一致地返回指数类型的最小值,请参阅 #12625
    • 允许从 __float128 转换为 cpp_bin_float
    • 修复了 cpp_int 的左移 bug,该 bug 会导致位丢失,请参阅 #12790
    • 修复了由于过于激进的 constexpr 优化导致的具有有限但可变精度的 cpp_int 的 bug,请参阅 #12798
  • Predef:
    • 修复了 Intel C/C++ 编译器版本规范。
    • 添加了 BOOST_VERSION_NUMBER_MAJORBOOST_VERSION_NUMBER_MINORBOOST_VERSION_NUMBER_PATCH 宏,用于从有效的版本号中提取组件。
    • 更改了 VS 版本编号。VS2015 之后的版本将使用编译器版本而不是不同的产品版本。
  • Regex:
    • 使用 Oracle C++ 工具集进行编译不再限于静态链接。
    • 投入大量精力使用 libFuzzer 对库进行模糊测试并修复已识别的问题,请参阅:#12818
  • 智能指针:
    • 重写了数组的 allocate_sharedmake_shared,以实现更优化的、更易于维护的实现(Glen Fernandes)
    • 支持移动语义的指针转换函数(Chris Glover)
  • Test:
    • Boost.test v3.5 请参阅 更改日志 部分以获取更多详细信息。
    • 新功能
      • 现在 Boost.Test 为日志记录用户自定义类型提供了自定义点
      • JUnit 输出格式现在可以包含一个日志级别
      • 当测试模块有大量检查时,JUnit 输出格式的性能有所提升
    • 错误修复
  • TypeIndex:
    • 添加了 BOOST_TYPE_INDEX_IMPLEMENT_RUNTIME_CAST,它实现了 runtime_cast 的功能,但不包含 BOOST_TYPE_INDEX_REGISTER_CLASS 宏(感谢 Chris Glover 的实现)
    • 修复了 stl_type_index.hpp 中未定义的宏警告 #12739
    • CI 测试现在使用 addressleakundefined C++ 运行时错误检查器运行
  • TypeTraits:
    • 添加了新的 traits make_voidvoid_t
  • Unordered:
    • 对 C++17 新成员函数提供了初步支持:unordered_map 中的 insert_or_assigntry_emplace,以及所有容器中的 mergeextract
  • Variant:
    • 修复了从 recursive_variant_ 构建 variant(感谢 Mikhail Maksimov 的修复) #12508, #12645
    • 对于 MSVC2015Update1,不启用可变参数模板,因为它仍然存在问题 #12236
    • 解决了 GCC6 崩溃的 workaround(感谢 Mikhail Maksimov 的 workaround) #12680, #7120
    • 使 boost::polymorphic_*get 在未文档化的边界情况下如同 boost::*get 一样工作,并修复了测试 #11950
    • CI 测试现在使用 addressleakundefined C++ 运行时错误检查器运行

测试的编译器

Boost 的主要测试编译器是:

  • Linux
    • Clang: 3.0, 3.8.1, 3.9.1
    • Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1, 3.9.1
    • Clang, C++14: 3.5, 3.6, 3.7.1, 3.8.1, 3.9.1
    • Clang, C++1z: 3.9.1
    • GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
    • GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
    • GCC, C++14: 5.4.1, 6.2.0, 6.3.0
    • GCC, C++1z: 6.2.0
    • Intel: 16.0, 17.0
    • Intel, C++11: 16.0, 17.0
    • Intel, C++14: 16.0, 17.0
  • OS X
    • Apple Clang: 7.0.2
    • Apple Clang, C++11: 7.0.2
  • Windows
    • GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
    • GCC, C++11, mingw: 4.6.4, 4.7.3, 4.8.1
    • GCC, C++14, mingw: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0
    • Visual C++: 7.1, 8.0, 9.0, 10.0, 11.0, 12.0, 14.0
  • Android
    • Clang: 3.6, 3.7, 3.8
    • GCC: 4.9, 5.4, 6.2
  • FreeBSD
    • Clang: 3.8
    • Clang, C++11: 3.8
    • Clang, C++14: 3.8
    • Clang, C++1z: 3.8
  • QNX
    • QCC: 4.4.2
  • SunOS
    • Oracle Solaris Studio: 12.5
    • Oracle Solaris Studio, C++11: 12.5

Boost 的其他测试编译器包括:

  • Linux
    • Clang: 3.0, 3.8.1, 3.9.1
    • Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.8.1, 3.9.1
    • Clang, C++14: 3.4, 3.5, 3.6, 3.7. 3.8, 3.8.1, 3.9.1
    • Clang, C++1z: 3.9.1, 4.0
    • GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 6.2.0
    • GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 6.2.0
    • GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.0.1
    • GCC, C++1z: 6.2.0
    • Intel: 16.0, 17.0
    • Intel, C++11: 16.0, 17.0
    • Intel, C++14: 16.0, 17.0
  • OS X
    • Apple Clang: 7.0.2
  • Windows
    • GCC, C++03, mingw: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0
    • Visual C++:7.1、8.0、9.0、10.0、11.0、12.0、14.0、14.1
  • Android
    • Clang: 3.6, 3.7, 3.8
    • GCC: 4.9, 5.4, 6.2
  • FreeBSD
    • Clang, C++98: 3.8
    • Clang, C++11: 3.8
    • Clang, C++14: 3.8
    • Clang, C++1z: 3.8
  • QNX
    • QCC: 4.4.2
  • SunOS
    • Oracle Solaris Studio: 12.5
    • Oracle Solaris Studio, C++11: 12.5

致谢

Beman Dawes, Eric Niebler, Rene Rivera, Daniel James, Vladimir Prus 和 Marshall Clow 管理了此次发布。

贡献者

Oliver Kowalke
Oliver Kowalke
贡献者
John Maddock
John Maddock
贡献者
Adam Wulkiewicz
Adam Wulkiewicz
贡献者
Peter Dimov
Peter Dimov
贡献者
Daniel James
Daniel James
贡献者
Glen Fernandes
Glen Fernandes
贡献者
Edward Diener
Edward Diener
贡献者
Marshall Clow
Marshall Clow
贡献者
Antony Polukhin
Antony Polukhin
贡献者
Andrey Semashev
Andrey Semashev
贡献者
Rene Rivera
Rene Rivera
贡献者
Bjorn Reese
Bjorn Reese
贡献者
Ion Gaztañaga
Ion Gaztañaga
贡献者
Robert Ramey
Robert Ramey
贡献者
Vissarion Fisikopoulos
Vissarion Fisikopoulos
贡献者
Raffi Enficiaud
Raffi Enficiaud
贡献者
Hans Dembinski
Hans Dembinski
贡献者
Vicente J. Botet Escriba
Vicente J. Botet Escriba
贡献者
Christopher Kohlhoff
Christopher Kohlhoff
贡献者
Beman Dawes
Beman Dawes
贡献者
Surogate
贡献者
Emil Dotchevski
Emil Dotchevski
贡献者
Stephen Kelly
Stephen Kelly
贡献者
Marcel Raad
Marcel Raad
贡献者
Stefan Seefeld
Stefan Seefeld
贡献者
Barend Gehrels
Barend Gehrels
贡献者
Mike Maximoff
Mike Maximoff
贡献者
Joaquin M. López Muñoz
Joaquin M. López Muñoz
贡献者
İbrahim Gökhan YANIKLAR
İbrahim Gökhan YANIKLAR
贡献者
Vladimir Batov
Vladimir Batov
贡献者
Jorge Lodos
Jorge Lodos
贡献者
Paul A. Bristow
Paul A. Bristow
贡献者
Chris Glover
Chris Glover
贡献者
Nick
Nick
贡献者
Frank Mori Hess
Frank Mori Hess
贡献者
Jonathan Turkanis
Jonathan Turkanis
贡献者
Tobias Reh
Tobias Reh
贡献者
Brandon Kohn
Brandon Kohn
贡献者
Steven Watanabe
Steven Watanabe
贡献者
spreadsort
spreadsort
贡献者
Wei-Ming Yang
Wei-Ming Yang
贡献者
Mats Taraldsvik
Mats Taraldsvik
贡献者
zerotypos-found
zerotypos-found
贡献者
Daniela Engert
Daniela Engert
贡献者
Daniel Krügler
Daniel Krügler
贡献者
Matias Fontanini
Matias Fontanini
贡献者
Jürgen Hunold
Jürgen Hunold
贡献者
Kohei Takahashi
Kohei Takahashi
贡献者
sehe
sehe
贡献者
Norbert Wenzel
Norbert Wenzel
贡献者
akumta
akumta
贡献者
6recetru
6recetru
贡献者
Tadeu Manoel
Tadeu Manoel
贡献者
Timo Sandmann
Timo Sandmann
贡献者
equal-l2
equal-l2
贡献者
Nick Vrvilo
Nick Vrvilo
贡献者
Aaron Gorenstein
Aaron Gorenstein
贡献者
Oliver Keyes
Oliver Keyes
贡献者
Christian Neumüller
Christian Neumüller
贡献者
Michel Morin
Michel Morin
贡献者
Minmin Gong
Minmin Gong
贡献者
Andrzej Krzemieński
Andrzej Krzemieński
贡献者
ibrahim.yaniklar
贡献者
Joel Nordell
Joel Nordell
贡献者
Jonathan Wakely
Jonathan Wakely
贡献者
al3xst
al3xst
贡献者
Daryle Walker
Daryle Walker
贡献者
Ashish Sadanandan
Ashish Sadanandan
贡献者
David Strauss
David Strauss
贡献者
Christoph Müllner
Christoph Müllner
贡献者
nekko1119
nekko1119
贡献者
slymz
slymz
贡献者
Mateusz Łoskot
Mateusz Łoskot
贡献者
Akira Takahashi
Akira Takahashi
贡献者
Alex Henrie
Alex Henrie
贡献者
Julien Schueller
Julien Schueller
贡献者
Tuukka Norri
Tuukka Norri
贡献者
Joel Falcou
Joel Falcou
贡献者
K. Noel Belcourt
K. Noel Belcourt
贡献者
Tim Blechmann
Tim Blechmann
贡献者
loonycyborg
loonycyborg
贡献者
scopeInfinity
scopeInfinity
贡献者
Nathan Wilson
Nathan Wilson
贡献者
O01eg
O01eg
贡献者
Nicholas Musolino
贡献者
Vladimir Prus
Vladimir Prus
贡献者
Gennadiy Rozental
Gennadiy Rozental
贡献者
Sergiu Deitsch
Sergiu Deitsch
贡献者
SPKorhonen
SPKorhonen
贡献者
Niklas Angare
Niklas Angare
贡献者
Adam Majer
Adam Majer
贡献者
Joachim Faulhaber
Joachim Faulhaber
贡献者
Vatsal Shah
Vatsal Shah
贡献者
Rogerio dos Santos
Rogerio dos Santos
贡献者
Paul Groke
Paul Groke
贡献者