版本 1.42.0
版本 1.42.0
2010年2月2日 14:00 格林尼治标准时间
平台 | 文件 |
---|---|
unix | boost_1_42_0.tar.bz2 |
boost_1_42_0.tar.gz | |
windows | boost_1_42_0.7z |
boost_1_42_0.zip |
新库
-
Uuid: 通用唯一标识符,来自 Andy Tompkins。
更新的库
-
Asio:
-
添加了一个新的 HTTP Server 4 示例,演示了与 Asio 一起使用无栈协程。
-
修复了处理程序内存生命周期问题,其中 Windows 需要
OVERLAPPED
结构在启动函数调用返回和完成数据包交付之前保持有效。 -
在执行系统调用时不要阻塞信号,而是如果调用被中断则重新启动调用。
-
记录了关于处理程序调用顺序的 strand 对象的保证。
-
更改了 strands 以使用实现池,以降低 strands 的复制成本。
-
确保为 BSD 平台启用了 kqueue 支持 (#3626)。
-
在
getaddrinfo
模拟中,仅当指定了服务名时才检查套接字类型 (SOCK_STREAM
或SOCK_DGRAM
)。这应该允许模拟与原始套接字一起工作。 -
添加了一个针对某些损坏的 Windows 防火墙的解决方法,这些防火墙使套接字看起来绑定到 0.0.0.0,而实际上它绑定到 127.0.0.1。
-
应用了针对 Solaris 上报告的 CPU 使用率过高的修复程序 (#3670)。
-
添加了对使用较旧编译器(例如 g++ 2.95)的平台的一些支持 (#3743)。
-
-
循环缓冲区:
-
添加了方法 erase_begin(size_type) 和 erase_end(size_type),对于不需要显式销毁的存储元素类型(例如 int 或 double),其复杂度为常数。
-
类似地更改了 clear() 方法和析构函数的实现,因此对于不需要显式销毁的存储元素类型,它们的复杂度现在为常数(其他类型的复杂度仍然为线性)。
-
-
Graph:
-
删除了对
compressed_sparse_row_graph
的旧接口,使新接口成为默认接口。
-
-
Integer:
-
将 Trunk 回滚到发布分支状态(即“已知良好状态”)。
-
为以下函数添加了 long long 支持:boost::static_log2, boost::static_signed_min, boost::static_signed_max, boost::static_unsigned_minboost::static_unsigned_max(如果可用)。
-
以下函数的参数类型和结果类型:boost::static_signed_min等等,现在已使用 typedef 定义。以前,它们被硬编码为unsigned long和int分别。请在新代码中使用提供的 typedef(并尽快更新旧代码)。
-
-
Program.Options:
-
将选项名称信息添加到一些异常类,并对异常类进行了各种清理工作 (#3423)。
-
修复了存在默认参数时的描述文字换行问题 (#2613)。
-
现在允许配置文件中的空值 (#1537)。
-
不再从字符串值中去除引号 (#850)。
-
修复了长默认参数情况下出现的无限循环问题 (#689)。
-
修复了由使用 boost::any 引起的编译警告 (#2562)。
-
修复了 example/response_file.cpp 中的内存错误 (#3525)。
-
修复了大多数编译警告 (#3608)。
-
使描述文本的列宽可配置。( #3703)。
-
添加通用分割函数:split_unix() (#2561)。
-
启用从给定文件名打开配置文件 (#3264)。
-
为必需选项添加附加标志 (#2982)。
-
启用命令行的区分大小写样式 (#3498)。
-
-
PropertyMap:
-
删除了旧的头文件(直接在
boost/
目录中);自 1.40 版以来已弃用,已替换为boost/property_map/
中的头文件。
-
测试的编译器
Boost 的主要测试编译器是:
-
OS X
-
Intel Leopard 上的 GCC 4.0.1。
-
PowerPC Tiger 上的 GCC 4.0.1。
-
-
Linux
-
Ubuntu Linux 上的 GCC 4.4.1。
-
Debian 上的 GCC 4.4。
-
-
Windows
-
Windows XP 上的 Visual C++ 7.1 SP1、8.0 SP1 和 9.0 SP1。
-
Windows 2008 64 位上的 Visual C++ 9.0。
-
使用 Mingw 的 GCC 4.3.3
-
-
FreeBSD
-
GCC 4.2.1,32 位和 64 位。
-
Boost 的其他测试编译器包括:
-
Linux
-
Red Hat Enterprise Linux 上的 Intel 10.1。
-
64 位 Red Hat Enterprise Linux 上的 Intel 10.1。
-
32 位 Red Hat Enterprise Linux 上的 Intel 11.0。
-
64 位 Red Hat Enterprise Linux 上的 Intel 11.0。
-
64 位 Red Hat Enterprise Linux 上的 Intel 11.1。
-
64 位 Linux Redhat 5.1 Server 上的 Intel 11.1。
-
64 位 Suse Linux 上的 Intel 11.1。
-
Red Hat Enterprise Linux 上的 GCC 3.4.6、GCC 4.2.4、GCC 4.3.4 和 GCC 4.4.2。
-
Red Hat Enterprise Linux 上带有 C++0x 扩展的 GCC 4.3.4 和 GCC 4.4.2。
-
64 位 Linux 上的 GCC 4.4.1。
-
Debian unstable 上的 GCC 4.4.3。
-
QLogic PathScale(TM) 编译器套件:Red Hat Enterprise Linux 上的 3.2 版。
-
-
OS X
-
Leopard 上的 Intel C++ 编译器 10.1、11.0、11.1。
-
Intel Leopard 上的 GCC 4.0.1。
-
PowerPC Tiger 上的 GCC 4.0.1。
-
-
Windows
-
XP 上的 Visual C++ 7.1、8.0、9.0。
-
XP 和 Windows Mobile 5.0 上使用 STLport 5.2 的 Visual C++ 9.0。
-
Visual C++ 10.0 beta 2。
-
32 位 Vista 上的 Visual C++ 10.0。
-
Borland/Codegear C++ 5.9.3、6.1.3 (2009)、6.2.1 (2010)。
-
Vista 32 位上使用 Visual C++ 9.0 后端的 Intel C++ 11.1。
-
Mingw 上的 GCC 4.4.1,带和不带 C++0x 扩展。
-
-
AIX
-
AIX 版本 5.3.0.40 上的 IBM XL C/C++ Enterprise Edition for AIX,V10.1.0.0。
-
-
FreeBSD
-
FreeBSD 7.0 上的 GCC 4.2.1,32 位和 64 位。
-
-
Solaris
-
Solaris 5.10 上的 Sun C++ 5.10。
-
致谢
Beman Dawes、Eric Niebler、Rene Rivera、Daniel James 和 Vladimir Prus 负责此版本的管理。