版本 1.65.1
版本 1.65.1
2017 年 9 月 7 日 17:31 GMT
平台 | 文件 | SHA256 哈希 |
---|---|---|
unix | boost_1_65_1.tar.bz2 | 9807a5d16566c57fd74fb522764e0b134a8bbe6b6e8967b83afefd30dcd3be81 |
boost_1_65_1.tar.gz | a13de2c8fbad635e6ba9c8f8714a0e6b4264b60a29b964b940a22554705b6b60 | |
windows | boost_1_65_1.7z | df7bea4ce58076bd8e9cd63966562d8cf969b431e1c587969e6aa408e51de606 |
boost_1_65_1.zip | d1775aef807bd6a14077b450cce2950d8eacd86aaf51015f79e712917f8cc3c2 |
第三方下载
1.65.1 中的修复
测试的编译器
Boost 的主要测试编译器是
-
Linux
-
Clang: 3.0, 4.0.1, 5.0.0
-
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 4.0.1, 5.0.0
-
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.9.1, 4.0.0, 5.0.0
-
Clang, C++17: 5.0.0
-
Clang, C++1z: 4.0.0
-
GCC: 4.4.7, 4.5.3, 4.6.3, 4.7.2, 5.4.0, 7.1.0
-
GCC, C++11: 4.4.7, 4.7.2, 4.7.3, 4.8.5, 4.9.4, 5.4.0, 6.4.0, 7.1.0
-
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 6.4.0, 7.1.0, 7.2.0
-
GCC, C++17: 7.1.0
-
GCC, C++1z: 6.3.0
-
Intel: 17.0
-
-
OS X
-
Clang: 8.1.0
-
Clang, C++11: 8.1.0
-
Clang, C++14: 8.1.0
-
Clang, C++1z: 8.1.0
-
-
Windows
-
GCC: 3.4.5, 4.1.2, 4.2.4, 4.3.3, 4.4.0, 4.5.4
-
GCC, C++11: 4.6.4, 4.7.3, 4.8.1
-
GCC, C++14: 4.9.3, 5.1.0, 5.2.0, 5.3.0, 6.1.0, 6.2.0, 6.3.0, 6.4.0, 7.1.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
-
GCC, C++14: 6.2
-
-
FreeBSD
-
Clang: 3.8.0
-
Clang, C++11: 3.8.0
-
Clang, C++14: 3.8.0
-
Clang, C++1z: 3.8.0
-
-
QNX
-
QCC, C++11: 4.4.2
-
-
SunOS
-
Oracle Solaris Studio: 12.5_next, 12.5
-
Oracle Solaris Studio, C++11: , 12.5_next, 12.5
-
致谢
Beman Dawes、Daniel James、Vladimir Prus 和 Marshall Clow 管理了此版本。
1.65.0 中的新库
-
PolyCollection: 来自 Joaquín M López Muñoz 的多态对象的快速容器。
-
Stacktrace: 来自 Antony Polukhin 的收集、存储、复制和打印回溯。
-
注意:该库存在 MinGW 问题,并且可能使用该编译器生成空回溯。
-
1.65.0 中删除的库
-
TR1
1.65.0 中更新的库
-
Asio:
-
更改为需要g++版本 >= 4.7 使用标准原子,以修复使用时的链接器错误g++ 4.6 (#13121).
-
在最近的 MSVC 版本中启用
constexpr
和可变参数模板的使用。 -
修复了 Linux epoll 后端中的竞争条件,当在 epoll 上阻塞另一个线程时,可能会发生这种情况。
-
消除了已弃用的
auto_ptr
的使用。 -
修复了反应式
async_accept
实现中asio_handler_is_continuation
结果的错误使用。 -
修复 MSVC intellisense 检测。
-
禁用 android/clang/x86 目标的
__thread
关键字扩展的使用。
-
-
上下文:
-
改进
-
call/cc 支持 ucontext-API (swapcontext)
-
call/cc 支持 Windows-Fiber-API
-
call/cc 支持按需增长(分段/拆分)堆栈
-
-
Bugfixes
-
#12719:使用 mingw-w64 工具链构建时,上下文测试用例和示例发生段错误
-
#52:无法使用 g++-4.9 构建 callcc 测试
-
-
重要
-
1.65 中未包含所需的错误修复 420554fe9ac01482990e8ae314f4f7ba81010c9a
-
-
-
配置:
-
添加了
BOOST_NO_CXX11_POINTER_TRAITS
、BOOST_NO_CXX17_FOLD_EXPRESSIONS
、BOOST_NO_CXX17_INLINE_VARIABLES
、BOOST_NO_CXX17_STRUCTURED_BINDINGS
缺陷检测。 -
对 GCC 7 及更高版本支持 BOOST_FALLTHROUGH。(Glen Fernandes)
-
-
DLL:
-
修复非 Windows 平台上的 PE 解析。
-
-
纤程:
-
改进
-
支持硬件事务内存 (Intel TSX)
-
支持 NUMA
-
支持 ucontext-API (swapcontext)
-
支持 Windows-Fiber-API
-
按需增长堆栈
-
-
Bugfixes
-
#121:无法使用 GCC 4.8 和 C++11 构建静态库
-
#123:schedule_from_remote 中的断言失败
-
#125:测试套件中出现不稳定的崩溃
-
#126:compare_exchange_strong 中 std::memory_order 值不正确?
-
-
重要
-
1.65 中未包含所需的错误修复 63f1041f0e484e64dec437a0fa780ea2463abda2
-
-
-
几何:
-
改进
-
添加采用面积策略的 correct() 重载
-
添加采用边策略的 is_convex() 重载
-
为 MultiPoint/AnyGeometry 添加缺少的关联操作 (covered_by、crosses、equals 等)
-
-
Bugfixes
-
修复了对于内部环接触另一个内部环的多边形,可能返回 false 的 is_valid
-
修复了对于多边形,其中一个多边形位于一个内部环中,并且都相互接触,可能返回 false 的 is_valid
-
修复了可能产生无效结果的 union(对于某些情况,这需要定义 BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
-
修复了交集 (idem),但某些情况仍然无效
-
修复了差集 (idem),但某些情况仍然无效
-
修复了将面积策略从交集策略传播到各种算法的内部
-
修复了 relate 中的未初始化变量和 overlay 中对临时的引用
-
修复了地理段/框的 disjoint 中的错误
-
修复了各种算法中对非笛卡尔几何体的处理
-
-
-
哈希:
-
支持
char16_t
、char32_t
、u16string
、u32string
。
-
-
Predef:
-
修复 Intel C/C++ 版本 9999 检测为 12.1.0。
-
添加
BOOST_PREDEF_WORKAROUND
和BOOST_PREDEF_TESTED_AT
宏,用于缺陷解决方法和检测。 -
添加 ARM64 MSVC SIMD 检测。(来自 Minmin Gong)
-
添加 iOS 模拟器与设备作为平台选择的检测。(来自 Ruslan Baratov)
-
修复 MinGW 错误标头保护。(来自 Ruslan Baratov)
-
-
Python:
-
eval()
,exec()
和exec_statement()
现在除了boost::python::str
之外,还允许char const *
参数。 -
boost::python::numeric
API 已被删除,因为它正被boost::python::numpy
所取代。 -
修复了在使用 Python3 和 MSVC 时的一些构建问题。
-
-
智能指针:
-
新的类模板
atomic_shared_ptr
,它提供了对shared_ptr
的线程安全原子指针操作。(Peter Dimov) -
新的类模板
local_shared_ptr
,其中引用计数使用非原子操作进行更新。(Peter Dimov) -
在
allocate_shared
和make_shared
中针对数组进行了更多优化。(Glen Fernandes) -
文档已完全以 Asciidoc 格式重写。
-
-
测试:
-
Boost.test v3.6 详情请参阅更改日志部分。
-
新功能
-
C++17 兼容性(已在 VS2017 上测试),感谢 Daniela Engert
-
在
BOOST_TEST
中直接比较 C 数组 -
更好的全局 fixture 机制,并使用
BOOST_TEST_GLOBAL_FIXTURE
处理全局 fixture,并使用BOOST_TEST_GLOBAL_CONFIGURATION
处理全局初始化(编译时配置),职责分离。 -
改进了对 fixture (
setup
/teardown
成员函数) 的支持,从而能够更好地进行 teardown 时间检查
-
-
破坏性变更
-
日志记录器的一些 API 更改
-
弃用
BOOST_GLOBAL_FIXTURE
,转而使用BOOST_TEST_GLOBAL_FIXTURE
和BOOST_TEST_GLOBAL_CONFIGURATION
(见上文)
-
-
-
线程:
-
Windows 上的重要回归
-
#130 windows:Windows 上 boost::condition_variable 中的错误,请合并这两个补丁
-
-
错误修复
-
#6787 如果系统时间回滚,boost::thread::sleep() 会挂起
-
#12519 boost::thread::try_join_for 在超时后不返回
-
#12874 future<> 扩展构造函数必须在 BOOST_THREAD_PROVIDES_FUTURE_UNWRAP 下
-
#12888 在 mingw/gcc 4.4 上链接 boost 线程不起作用
-
#12958 sync_bounded_queue::wait_pull_front( lve ) 可能会抛出异常
-
#13077 链接到静态 64 位 libboost_thread 会导致 DLL 初始化失败
-
#13155 log 在具有 pthreads 的系统上无法构建
-
#121 on_tls_prepare 在 VS2017 下中断
-
-