版本 1.40.0
版本 1.40.0
2009年8月27日 17:00 GMT
平台 | 文件 |
---|---|
Unix | boost_1_40_0.tar.bz2 |
boost_1_40_0.tar.gz | |
Windows | boost_1_40_0.7z |
boost_1_40_0.zip |
更新
添加了图和属性映射的缺失说明。
Boost.CMake
Boost.CMake 现在单独分发。上述压缩包中 boost 的 cmake 构建已损坏。有关工作版本的指针,请参阅 Boost.CMake wiki 页面。
已更新的库
-
累加器 (Accumulators):
-
可在 GCC 4.4 上运行。
-
-
Asio:
-
添加了一个新的 ping 示例来说明 ICMP 套接字的使用。
-
更改了
buffered*_stream<>
模板,将 0 字节读取和写入视为无操作,以符合SyncReadStream
、AsyncReadStream
、SyncWriteStream
和AsyncWriteStream
的文档类型要求。 -
使 Asio 与 OpenSSL 1.0 beta 兼容(#3256)。
-
消除了 Solaris 中的冗余系统调用/dev/poll后端。
-
修复了内部哈希映射中桶数组大小调整的错误(#3095)。
-
确保在同步接受失败时正确传播错误代码(#3216)。
-
确保在 Windows HANDLE 上的同步读取或写入失败时正确传播错误代码。
-
修复了定义
_GLIBCXX_DEBUG
时报告的故障(#3098)。 -
修复了计时器的自定义内存分配支持(#3107)。
-
-
Fusion:
-
改进了
fusion::vector
的编译时间。
-
-
图 (Graph):
-
合并了 并行 Boost 图库,为分布式内存计算机(如集群)提供了一整套图算法和数据结构。
-
更新了压缩稀疏行图的接口,包括从未排序边列表构造。
-
隐式网格图,比使用以前的生成器节省内存。
-
新算法:没有单独颜色映射的 Dijkstra 单源最短路径算法,以及在两个图之间查找最大公共子图的算法。
-
各种错误修复。
-
-
哈希 (Hash):
-
使用模板元编程自动配置浮点函数,而不是尝试手动配置所有可能性。
-
-
侵入式 (Intrusive):
-
tree_algorithms.hpp 和 avl_tree_algorithms.hpp 中的代码清理
-
修复了错误 #3164。
-
-
属性映射 (Property Map):
-
将属性映射代码移至单独的目录
boost/property_map/
。旧文件仍然存在并转发到新文件;boost/
中以前的旧文件将在 Boost 1.42.0 中删除。 -
将分布式属性映射移至
boost::graph::parallel
命名空间。 -
添加了基于
boost::shared_array
的属性映射,提供更简单的接口。
-
-
随机 (Random):
-
使所有生成器的构造函数在传递非 const 引用时调用复制构造函数。
-
更改了种子函数以接受任何算术类型。副作用是某些类的种子确切签名发生了变化。
-
uniform_int 中的主要错误修复。
-
-
序列化 (Serialization):
-
删除了弃用的头文件:
boost/static_warning.hpp
、boost/state_saver.hpp
、boost/smart_cast.hpp
、boost/pfto.hpp
。请改用boost/serialization/
目录中的等效头文件(#3062)。
-
-
无序 (Unordered):
-
为所有编译器实现
emplace
,而不仅仅是具有右值引用和可变参数模板的编译器(#1978)。 -
默认情况下创建更少的桶。
-
构建系统
类 Unix 环境中库的默认命名现在与系统约定匹配,并且不包括各种修饰。Cygwin 上的库命名也被修复。添加了对 Microsoft Visual Studio 10 测试版版本的支持。使用 gcc 时,64 位编译不再需要指定目标体系结构。
更新的工具
测试过的编译器
Boost 的主要测试编译器是
-
OS X
-
Intel Tiger 和 Leopard 上的 GCC 4.0.1
-
PowerPC Tiger 上的 GCC 4.0.1
-
-
Linux
-
Ubuntu Linux 上的 GCC 4.3.3。
-
-
Windows
-
Windows XP 上的 Visual C++ 7.1 SP1、8.0 SP1 和 9.0 SP1。
-
Boost 的其他测试编译器包括
-
Linux
-
Red Hat Enterprise Linux 上的 Intel 9.0。
-
Red Hat Enterprise Linux 上的 Intel 10.0。
-
64 位 Linux Redhat 5.1 服务器上的 Intel 10.1。
-
64 位 Itanium 上的 Suse Linux 上的 Intel 10.1。
-
Red Hat Enterprise Linux 上的 Intel 11.0。
-
Red Hat Enterprise Linux 上的 Intel 11.1。
-
Red Hat Enterprise Linux 上的 GCC 3.4.3、GCC 4.0.1、GCC 4.2.4、GCC 4.3.3 和 GCC 4.4.0。
-
Red Hat Enterprise Linux 上使用 C++0x 扩展的 GCC 4.3.3 和 GCC 4.4.0。
-
64 位 Red Hat Enterprise Linux 上的 GCC 4.1.1、4.2.1。
-
64 位 Itanium 上的 Suse Linux 上的 GCC 4.1.2。
-
64 位 Redhat Server 5.1 上的 GCC 4.1.2。
-
Red Hat Enterprise Linux 上的 GCC Open64 4.2.2。
-
Debian 不稳定版上的 GCC 4.3.4。
-
QLogic PathScale(TM) 编译器套件:Red Hat Enterprise Linux 上的版本 3.1。
-
64 位 Red Hat Enterprise Linux 上的 GCC 版本 4.2.0(PathScale 3.2 驱动程序)。
-
Red Hat Enterprise Linux 上的 Sun 5.9。
-
-
OS X
-
Intel Leopard 上的 Intel 10.1、11.0。
-
Intel Tiger 上的 Intel 10.1、11.0。
-
Intel Leopard 上的 GCC 4.0.1、4.2.1。
-
Intel Tiger 上的 GCC 4.0.1。
-
PowerPC Tiger 上的 GCC 4.0.1。
-
-
Windows
-
XP 上的 Visual C++ 7.1。
-
XP 上的 Visual C++ 9.0。
-
Vista 上的 Visual C++ 9.0。
-
64 位 Vista 上的 Visual C++ 9.0。
-
XP 和 Windows Mobile 5.0 上使用 STLport 5.2 的 Visual C++ 9.0。
-
Visual C++ 10.0 测试版。
-
Borland 5.9.3、6.1.0、6.1.3。
-
Borland C++ Builder 2007 和 2009。
-
在 32 位 Vista 系统上使用 Intel C++ 11.1,以及 Visual C++ 9.0 后端。
-
在 64 位 Vista 系统上使用 Intel C++ 11.1,以及 Visual C++ 9.0 后端。
-
在 Mingw 上使用 GCC 4.3.3 和 4.4.0,并启用 C++0x 功能。
-
-
AIX
-
在 AIX 版本 5.3.0.40 上使用 IBM XL C/C++ Enterprise Edition for AIX,V10.1.0.0。
-
-
Solaris
-
在 Solaris 5.10 上使用 Sun C++ 5.7、5.8、5.9。
-
在 Solaris 5.10 上使用 GCC 3.4.6。
-
致谢
Beman Dawes、Eric Niebler、Rene Rivera 和 Daniel James 管理了此版本。