版本 1.51.0
版本 1.51.0
2012 年 8 月 20 日 23:00 GMT
平台 | 文件 |
---|---|
unix | boost_1_51_0.tar.bz2 |
boost_1_51_0.tar.gz | |
windows | boost_1_51_0.7z |
boost_1_51_0.zip |
补丁
-
Locale 补丁 - 修复了一个导致
boost::locale::utf::utf_traits
接受一些无效 UTF-8 序列的 bug,这是一个可能的安全漏洞。
新库
-
Context: 上下文切换库,来自 Oliver Kowalke。
更新的库
-
Algorithm:
-
修复了
is_sorted_until
;现在匹配 c++11 标准在具有重复值的范围上的行为。 -
为其余搜索算法添加了范围支持。
-
unhex
现在使用 Boost.Exception 来发出错误输入信号。
-
-
Asio:
-
修复了
ip::tcp::iostream
和 C++11 之间的不兼容性 (#7162)。 -
用下划线装饰 GCC 属性名称,以防止与用户定义的宏交互 (#6415)。
-
添加了缺少的
#include <cctype>
,某些 MinGW 版本需要它。 -
更改为使用gcc在 ARM CPU 上可用的原子内置函数 (#7140)。
-
更改了 strand 析构函数使其成为空操作,以允许 strand 对象在其关联的
io_service
被销毁后被销毁。 -
更改了 SSL 实现,如果 SSL 引擎初始化失败,则抛出异常 (#6303)。
-
修复了
buffered_write_stream
中的另一个回归 (#6310)。 -
实施了各种小的性能改进,主要针对 Linux x86 和 x86-64 平台。
-
-
Config:
-
弃用了一系列宏,这些宏是 c++11 特有的,但名称未显示它们是 c++11 特有的。创建了具有更好名称的新宏,并将旧宏与新宏配对。更新了文档以列出已弃用的宏。
-
-
Chrono:
-
#6918 由于未定义的 pthread_getcpuclockid,Boost Chrono 在 HP uX 上编译失败。
-
#6241 没有 std::wstring 支持的 boost::chrono 编译问题。
-
#6987 文档 & C++11。
-
#7041 time_point.hpp 依赖于 Boost.System。
-
#7042 避免 time_point 和 duration 依赖于 time.h 和 CLOCK_REALTIME。
-
#7058 在定义 BOOST_NO_EXCEPTIONS 时使其工作。
-
#7069 clock_string<thread_clock> 中的拼写错误。
-
#7081 boost/detail/win/basic_types.hpp 中的 WinError.h 大写错误。
-
-
Hash:
-
支持标准智能指针。
-
hash_value
现在使用 SFINAE 实现,以避免在调用它时隐式转换为内置类型。 -
更新为使用新的 config 宏。
-
-
Lexical cast:
-
boost::array<character_type, N>
和std::array<character_type, N>
转换具有更好的性能,更少的内存使用。 -
修复了 volatile 输入参数的 bug #7157。
-
-
Math:
-
更新为使用新的 config 宏。
-
-
MSM:
-
Bugfix: 具有 fsm 内部表和 none (复合) 事件的编译器错误。
-
Bugfix: euml::defer_ 导致堆栈溢出。
-
Regex:
-
更新为使用新的 config 宏。
-
-
Thread:
-
#4258 在 mingw/gcc 4.5 上使用 boost thread 链接不起作用。
-
#4885 由于对 TlsAlloc 的无效假设,在进程退出时 set_tss_data 中发生访问冲突。
-
#6931 mutex 在 Intel Compiler 和 /debug:parallel 下永远等待
-
#7044 boost 1.50.0 头文件丢失。
-
#7052 Thread: BOOST_THREAD_PROVIDES_DEPRECATED_FEATURES_SINCE_V3_0_0 仅屏蔽 thread::operator==, thread::operator!= 前向声明,而不是定义。
-
#7066 尝试修复 current_thread_tls_key 静态初始化顺序。
-
#7074 多次定义的符号 boost::allocator_arg。
-
#7078 Windows 上线程属性堆栈大小的微不足道的 64 位警告修复
-
#7089 BOOST_THREAD_WAIT_BUG 限制了功能,但没有解决任何问题
-
-
xpressive:
-
解决 cygwin 和 mingw 上有 bug 的宽字符 ctype facet。
-
解决某些 glibc 实现上缺少 __isctype 的问题。
-
op::as
不应假设string::iterator
!=char*
。 -
修复了 libc++ 上
cpp_regex_traits
中的断言,感谢 John Fletcher。
-
已测试的编译器
Boost 的主要测试编译器是
-
Linux
-
GCC: 4.2.4, 4.3.4, 4.4.3, 4.5.3, 4.6.2, 4.7
-
GCC, C++11 模式: 4.3.4, 4.4.3, 4.5.3, 4.6.2
-
Intel: 11.1, 12.0, 12.1
-
LLVM Clang 2.8
-
-
OS X
-
GCC: 4.4
-
GCC, C++11 模式: 4.4
-
Intel: 11.1, 12.0
-
-
Windows
-
GCC, mingw: 4.4.0, 4.4.7, 4.5.4, 4.6.3
-
Visual C++: 8.0, 9.0, 10.0
-
-
FreeBSD
-
GCC: 4.2.1, 32 和 64 位
-
Boost 的其他测试编译器包括
-
Linux
-
Clang: 来自 subversion
-
LLVM Clang: 3.0
-
GCC: 4.2.4, 4.3.4, 4.4.4, 4.4.7, 4.5.3, 4.6.2, 4.6.3, 4.7.0, 4.7.1
-
GCC, C++11 模式: 4.3.4, 4.4.4, 4.5.3, 4.6.3
-
pgCC: 11.9
-
Intel: 10.1, 11.1, 12.0, 12.1
-
Visual Age: 10.1
-
-
OS X
-
Clang: 来自 subversion
-
Clang, C++11 模式: 来自 subversion
-
Intel: 11.1, 12.0
-
GCC: 4.4
-
GCC, C++11 模式: 4.4
-
-
Windows
-
Visual C++: 8.0, 9.0, 10.0
-
GCC, mingw: 4.4.0, 4.6.3, 4.7.0
-
-
AIX
-
IBM XL C/C++ Enterprise Edition: V12.1.0.0
-
-
FreeBSD
-
GCC: 4.2.1, 32 和 64 位
-
-
Solaris
-
Sun: 5.10
-
致谢
Beman Dawes, Eric Niebler, Rene Rivera, Daniel James, Vladimir Prus 和 Marshall Clow 管理了此版本。