版本 1.64.0
版本 1.64.0
2017 年 4 月 19 日 17:42 GMT
平台 | 文件 | SHA256 哈希 |
---|---|---|
unix | boost_1_64_0.tar.bz2 | 7bcc5caace97baa948931d712ea5f37038dbb1c5d89b43ad4def4ed7cb683332 |
boost_1_64_0.tar.gz | 0445c22a5ef3bd69f5dfb48354978421a85ab395254a26b1ffb0aa1bfd63a108 | |
windows | boost_1_64_0.7z | 49c6abfeb5b480f6a86119c0d57235966b4690ee6ff9e6401ee868244808d155 |
boost_1_64_0.zip | b99973c805f38b549dbeaf88701c0abeff8b0e8eaa4066df47cac10a32097523 |
第三方下载
新库
-
Process: Klemens D. Morgenstern 的进程库,它提供跨平台的方式,允许您
-
创建子进程
-
为子进程设置流
-
通过流与子进程通信(同步或异步)
-
等待进程退出(同步或异步)
-
终止进程
已损坏的功能 -
更新的库
-
Atomic:
-
修复了在较旧于 4.7 的 gcc 版本和兼容编译器上,32 位 x86 上 64 位原子操作中可能出现的错误代码生成。
-
-
Config:
-
添加了
BOOST_NO_CXX11_SFINAE_EXPR
缺陷检测。
-
-
Context:
-
新 API:call/cc
-
已弃用的 API:执行上下文
-
修复了 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 测试现在使用
address
、leak
和undefined
清理器运行
-
-
Core:
-
在支持 C++11
constexpr
和 SFINAE 表达式的编译器上实现了constexpr
addressof
(Glen Fernandes)。BOOST_CORE_NO_CONSTEXPR_ADDRESSOF
宏指示何时constexpr
addressof
不可用。 -
在
lightweight_test.hpp
中,为测试容器内容添加了新宏BOOST_TEST_ALL_EQ
和BOOST_TEST_ALL_WITH
(Bjorn Reese)。
-
-
Coroutine2:
-
#4: coroutine2<> 不接受 std::bind
-
-
DLL:
-
修复了 WinCE 编译
-
添加了
boost:dll::symbol_location_ptr
函数,用于通过无法解引用的指针获取符号的位置(例如void
指针) -
修复了成员指针的
detail::aggressive_ptr_cast
中的 UB -
修复了实验性智能导入中的泄漏
-
修复了警告
-
CI 测试现在使用
address
和leak
清理器运行
-
-
Fiber:
-
移除了 (un)bounded_channel<>
-
#100: ASIO: unbuffered_channel / 调度程序通知问题
-
#105: skynet 变体在 Windows 上崩溃
-
#106: 将 fixed_stack 分配器传递给 async/packaged_task 无法编译
-
#110: ARMv6 上出现编译错误
-
#111: buffered_channel::try_value_pop() 中的无限循环
-
#114: buffered_channel::try_push
不会唤醒 `pop` 中的纤程
-
-
Geometry:
-
改进
-
矩阵转换现在基于 Boost.QVM 而不是 Boost.Ublas
-
-
重大更改
-
ublas_transformer 重命名为 matrix_transformer
-
显式修饰符已添加到 rtree index::dynamic_* 参数的构造函数中
-
strategy::area::huiller 被 strategy::area::spherical 替换
-
-
错误修复
-
修复 get_turn_info 中的 distance_measure
-
-
-
Hash:
-
当
std::unary_function
和std::binary_function
不可用时,停止使用它们。
-
-
Interprocess:
-
修复了错误
-
来自 Windows 系统的新实验选项
BOOST_INTERPROCESS_BOOTSTAMP_IS_SESSION_MANAGER_BASED
。此选项从与会话管理器关联的注册表值中派生出用于命名共享内存放置位置的文件夹的唯一启动时间戳。此选项仅在 Vista 及更高版本的系统上有效,并且可能比默认版本更稳定。
-
-
LexicalCast:
-
修复了多个警告 #11842
-
CI 测试现在使用
address
、leak
和undefined
清理器运行
-
-
Multi-index Containers:
-
修复了在存在多个排名索引时与歧义引用相关的错误(票证 #12955)。
-
维护修复。
-
-
Multiprecision:
-
在
cpp_bin_float
中,防止在转换为非规范化浮点数时出现双舍入。请参见 #12527。 -
修复了非常小的整数的整数平方根中的错误。请参见 #12559。
-
修复了在
cpp_bin_float
中转换为带符号零的错误。 -
更改
cpp_bin_float
舍入代码以在任意位置舍入,以便我们可以将其用于转换,请参见 #12527。 -
提高了 128 位位扫描操作的性能。
-
修复了
cpp_bin_float
中非常小的数量的减法。请参见:#12580。 -
使错误处理符合 C99 附录 F。请参见 #12581。
-
修复了普通
cpp_int
的按位导出,请参见 #12627。 -
修复了
ilogb
(以及使用它的代码),使其在参数为零时始终返回指数类型的最小值,请参见 #12625。 -
允许从
__float128
转换为cpp_bin_float
。 -
修复了
cpp_int
左移位中会导致位丢失的错误,请参见 #12790。 -
修复了由过度激进的 constexpr 优化引起的有界但可变精度的
cpp_int
中的错误,请参见 #12798。
-
-
Predef:
-
修复了 Intel C/C++ 编译器版本规范。
-
添加了
BOOST_VERSION_NUMBER_MAJOR
、BOOST_VERSION_NUMBER_MINOR
、BOOST_VERSION_NUMBER_PATCH
宏,用于从有效的版本号中提取组件。 -
更改了 VS 版本编号。VS2015 之后的版本将使用编译器版本而不是不同的产品版本。
-
-
智能指针:
-
重写了用于数组的
allocate_shared
和make_shared
,以实现更优化和更易于维护的实现 (Glen Fernandes) -
具有移动语义的指针转换函数 (Chris Glover)
-
-
TypeTraits:
-
添加了新的 traits
make_void
和void_t
。
-
-
Unordered:
-
初始支持新的 C++17 成员函数:
unordered_map
中的insert_or_assign
和try_emplace
,以及所有容器中的merge
和extract
。
-
测试的编译器
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 管理了本次发布。