版本 1.65.0
版本 1.65.0
2017 年 8 月 21 日 20:50 GMT
平台 | 文件 | SHA256 哈希值 |
---|---|---|
unix | boost_1_65_0.tar.bz2 | ea26712742e2fb079c2a566a31f3266973b76e38222b9f88b387e3c8b2f9902c |
boost_1_65_0.tar.gz | 8a142d33ab4b4ed0de3abea3280ae3b2ce91c48c09478518c73e5dd2ba8f20aa | |
windows | boost_1_65_0.7z | 4873d8f3506fd8d76e2eadcf0ace83b258010fc268a4d974361af7abad5448f5 |
boost_1_65_0.zip | f3f5c37be45eb6516c95cd147d8aa4abb9b52121fc3eccc1fc65c4af0cf48592 |
第三方下载
已知问题
这些是库作者提供的补丁,发现得太晚而无法在发布版本中修复。请小心,因为它们尚未经过正常的测试流程。
修复以下问题的组合补丁:boost_1_65_0.patch。从 boost 仓库的根目录使用 patch -p1 < boost_1_65_0.patch
来应用。或者您可以单独应用下面的补丁。
-
Context 和 Fiber 在应该返回 continuation 时没有返回
-
Thread:Windows 上
boost::condition_variable
中的错误
新库
-
PolyCollection: 来自 Joaquín M López Muñoz 的多态对象快速容器。
-
Stacktrace: 来自 Antony Polukhin 的收集、存储、复制和打印回溯。
-
注意:Library 存在 MinGW 问题,并且可能在使用该编译器时生成空回溯。
-
已移除的库
-
TR1
更新的库
-
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
关键字扩展的使用。
-
-
Context:
-
改进
-
call/cc 支持 ucontext-API (swapcontext)
-
call/cc 支持 Windows-Fiber-API
-
call/cc 支持按需增长(分段/拆分)堆栈
-
-
Bugfixes
-
#12719: 使用 mingw-w64 工具链构建时,context 测试用例和示例出现段错误
-
#52: 使用 g++-4.9 构建 callcc 测试失败
-
-
重要
-
必需的错误修复 420554fe9ac01482990e8ae314f4f7ba81010c9a 未包含在 1.65 中
-
-
-
Config:
-
添加了
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)
-
-
Coroutine2:
-
支持 ucontext-API (swapcontext)
-
支持 Windows-Fiber-API
-
#13064: coroutine 和 coroutine2 的不同行为
-
-
DLL:
-
修复了非 Windows 平台上的 PE 解析。
-
-
Fiber:
-
改进
-
支持硬件事务内存 (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 值不正确?
-
-
重要
-
必需的错误修复 63f1041f0e484e64dec437a0fa780ea2463abda2 未包含在 1.65 中
-
-
-
Geometry:
-
改进
-
添加接受面积策略的 correct() 重载
-
添加接受边策略的 is_convex() 重载
-
为 MultiPoint/AnyGeometry 添加缺失的关系运算符(covered_by、crosses、equals 等)
-
-
Bugfixes
-
修复了 is_valid,它可能会为内部环接触另一个内部环的多边形返回 false
-
修复了 is_valid,它可能会为多边形位于内部环中,并且所有多边形相互接触的情况返回 false
-
修复了 union,它可能会产生无效结果(对于某些情况,这需要定义 BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
-
修复了 intersection (idem),但某些情况仍然无效
-
修复了 difference (idem),但某些情况仍然无效
-
修复了面积策略从交集策略传播到各种算法内部的问题
-
修复了 relate 中的未初始化变量以及 overlay 中对临时变量的引用
-
修复了地理 Segment/Box 的 disjoint 中的错误
-
修复了各种算法中非笛卡尔几何体的处理
-
-
-
Hash:
-
支持
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)
-
-
Program Options:
-
隐式选项的解析现在可以使用来自下一个令牌的值。自 1.59 以来,除非隐式选项的值与选项本身在同一个令牌中指定,否则将使用隐式值。这被证明是不方便的,现在我们再次检查下一个令牌,如果它本身不是选项,则将其用作值。(#25)
-
Python:
-
eval()
、exec()
和exec_statement()
现在除了boost::python::str
之外,还允许char const *
参数。 -
boost::python::numeric
API 已被删除,因为它正在被boost::python::numpy
取代。 -
修复了将 Python3 与 MSVC 一起使用时的一些构建问题。
-
-
Smart Pointers:
-
新类模板
atomic_shared_ptr
,它为shared_ptr
提供线程安全的原子指针操作。(Peter Dimov) -
新类模板
local_shared_ptr
,其中引用计数使用非原子操作更新。(Peter Dimov) -
allocate_shared
和make_shared
针对数组的更多优化。(Glen Fernandes) -
文档已完全以 Asciidoc 格式重写。
-
-
Test:
-
Boost.test v3.6 请参阅 Change log 部分以获取更多详细信息。
-
新功能
-
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
(见上文)
-
-
-
Thread:
-
Windows 上的重要回归
-
#130 windows: Windows 上 boost::condition_variable 中的错误 请合并这两个补丁
-
-
Bug fixes
-
#6787 如果系统时间回滚,boost::thread::sleep() 会挂起
-
#12519 boost::thread::try_join_for 在超时后不返回
-
#12874 future<> 扩展构造函数必须在 BOOST_THREAD_PROVIDES_FUTURE_UNWRAP 下
-
#12888 在 mingw/gcc 4.4 上链接 boost thread 无法工作
-
#12958 sync_bounded_queue::wait_pull_front( lve ) 可能会抛出异常
-
#13077 链接到静态 64 位 libboost_thread 失败 DLL 初始化
-
#13155 log 在具有 pthreads 的系统上无法构建
-
#121 on_tls_prepare 在 VS2017 下被破坏
-
-
-
Typeof:
-
修复了 clang-cl 的编译错误 ticket 11821。
-
测试的编译器
Boost 的主要测试编译器是
-
Linux
-
Clang: 3.0, 3.8.1
-
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
-
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
-
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, 7.1.0
-
GCC, C++14: 5.4.0, 5.4.1, 6.3.0, 7.1.0
-
GCC, C++17: 7.1.0
-
GCC, C++1z: 6.3.0
-
Intel: 16.0, 17.0
-
Intel, C++11: 16.0, 17.0
-
Intel, C++14: 16.0
-
-
OS X
-
Clang: 8.1.0
-
Clang, C++11: 8.1.0
-
Clang, C++14: 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
-
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.7.3
-
-
SunOS
-
Oracle Solaris Studio: 12.5_next, 12.5
-
Oracle Solaris Studio, C++11: 12.5_next, 12.5
-
Boost 的其他测试编译器包括
-
Linux
-
Clang: 3.0, 3.8.1
-
Clang, C++11: 3.0, 3.1, 3.2, 3.3, 3.4, 3.8.1
-
Clang, C++14: 3.5.0, 3.6.0, 3.7.1, 3.8.0, 3.8.1, 3.9.1, 4.0.1
-
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, 7.1.0
-
GCC, C++14: 5.4.1, 6.2.0, 6.3.0, 7.1.0, 8.0.0
-
GCC, C++17: 7.1.0
-
GCC, C++1z: 6.3.0
-
Intel: 17.0
-
Intel, C++11: 16.0, 17.0
-
Intel, C++14: 16.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
-
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
-
-
SunOS
-
Oracle Solaris Studio: 12.5_next, 12.5
-
Oracle Solaris Studio, C++11: 12.5_next, 12.5
-
致谢
Beman Dawes, Eric Niebler, Rene Rivera, Daniel James, Vladimir Prus 和 Marshall Clow 管理了此版本。