版本 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 中的修复
-
Config:
-
CUDA 的版本宏更改。
-
更新上次已知的 MSVC 版本。
-
MSVC 14.11 支持结构化绑定。
-
-
Context:
-
从
resume_with
执行的函数返回 continuation。
-
-
Fiber:
-
从
resume_with
执行的函数返回 continuation。
-
-
智能指针:
-
修复 Visual C++ 版本检查。
-
修复使用主机编译器 clang 的 NVCC 编译。
-
-
Stacktrace:
-
更新构建测试文件以详细说明 MinGW 问题。
-
更改预处理器文件扩展名以与安装系统一起使用。
-
支持 FreeBSD 和其他未定义
_GNU_SOURCE
但具有_Unwind_Backtrace
函数的操作系统。
-
测试编译器
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).
-
启用
constexpr
和可变参数模板与最新的 MSVC 版本一起使用。 -
修复了 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 支持按需增长(分段/拆分)堆栈
-
-
错误修复
-
#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
-
按需增长的堆栈
-
-
错误修复
-
#121: 无法使用 GCC 4.8 和 C++11 构建静态库
-
#123: schedule_from_remote 中的断言失败
-
#125: testsuite 中不稳定的崩溃
-
#126: compare_exchange_strong 中不正确的 std::memory_order 值?
-
-
重要
-
必需的错误修复 63f1041f0e484e64dec437a0fa780ea2463abda2 未包含在 1.65 中
-
-
-
Geometry:
-
改进
-
添加采用面积策略的 correct() 重载
-
添加采用边策略的 is_convex() 重载
-
为 MultiPoint/AnyGeometry 添加缺少的 relational 运算 (covered_by, crosses, equals, etc.)
-
-
错误修复
-
修复 is_valid,对于内部环接触另一个内部环的多边形可能会返回 false
-
修复 is_valid,对于多边形位于内部环中,所有多边形相互接触的多边形可能会返回 false
-
修复 union,可能会产生无效结果(对于某些情况,这需要定义 BOOST_GEOMETRY_INCLUDE_SELF_TURNS)
-
修复 intersection (同上), 但某些情况仍然无效
-
修复 difference (同上), 但某些情况仍然无效
-
修复面积策略从相交策略传播到各种算法的内部
-
修复 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()
现在允许char const *
参数,除了boost::python::str
之外。 -
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 格式重写。
-
-
Test:
-
Boost.test v3.6 请参阅 Change log 部分以获取更多详细信息。
-
新功能
-
C++17 兼容性(在 VS2017 上测试),感谢 Daniela Engert
-
BOOST_TEST
中 C 数组的直接比较 -
更好的全局 fixtures 机制,以及使用
BOOST_TEST_GLOBAL_FIXTURE
用于全局 fixtures 和BOOST_TEST_GLOBAL_CONFIGURATION
用于全局初始化(编译时配置)的职责分离。 -
改进了对 fixtures(
setup
/teardown
成员函数)的支持,这可以更好地进行 teardown 时间检查
-
-
重大更改
-
记录器的一些 API 更改
-
弃用
BOOST_GLOBAL_FIXTURE
,转而使用BOOST_TEST_GLOBAL_FIXTURE
和BOOST_TEST_GLOBAL_CONFIGURATION
(见上文)
-
-
-
Thread:
-
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 与 boost thread 链接在 mingw/gcc 4.4 上不起作用
-
#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。
-