boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。 STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。
boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、语法分析、杂项。 有一些库是跨类别包含的,就是既属于这个类别又属于那个类别。
通过网页浏览器 访问Boost CVS
你可以近代的浏览器来访问Boost CVS 文件 你可以通过颜色的不同看到一个文件被更新了多少次 注意: 这个接口只是用来显示个别文件的修改历史 从CVS里的BoostBook产生文档
一些Boost 文档产生自CVS仓库里面的BoostBook XML 代码,这些代码并没有被转换成可以阅读的HTML参考文档。可以访问 Nightly Generated 文档 来查看通过"nightly build"生成的HTML文档。
准备
Boost 推荐使用Boost .Build( Boost 编译生成系统) 来生成安装 Boost 库。 本文档剩下的部分解释它的用法。但是用不用这个系统就看你的需求了。注意,一些虽然库同样也包含了非Boost .Build的make文件或者工程文件。 但是Boost .Build却包含了构建Boost 所需要的全部文件。
2 这个生成系统使用Boost .Jam ,一个 Perforce Jam 扩展版本--这是make 一种轻量级的替代品。 推荐你去SourceForge 下载一个 Boost .jam的可执行文件 如果你所使用的环境没有预先编译好的可执行的Boost .Jam或者如果你在使用一个还没有发布的Boost 源码。那么你就需要 从代码手动生成bjam , 而bjam的代码也包含在Boost 的源码树里面。编译好Boost .Jam以后,把bjam的执行文件放在你的Boost 根目录下面就可以了。
配置编译工具
在使用Boost .Build之前,你需要指定编译工具,有两种方法可以做到使得Build.System正常的工作。
用户可以用常规的方法为它他算使用的每一套编译工具集设置一套变量。 例如,设置Microsoft VC ++, 就可以在PATH变量中添加...VC 98/Bin 或者 .../VC 7/Bin的路径, 还需要编译之前调用一次VCVAR32.BAT或者VSVAR32.BAT(这样它就可以用VC 来编译Boost 了)。 而使用CodeWarrior , 就应该调用cwenv.bat,而且其他的Metrowerks工具/命令行工具也应该在path变量中。 大多数的Unix系统都会预先配置好这些变量而不需要用户来干预。
某一个用户不打算让他的变量被弄乱设置或者他也不是很了解他的编译工具的配置。作为一种替代,他(她)可以设置一个变量指向她的编译工具的安装 目录, 这个变量可以事先在命令行环境变量里面声明,或者在调用bjam 时声明, 知道定义好这个变量, 那些被用到的变量会被自动的找到并且设置好。这个变量就是-s,例如:
bjam "-sGCC_ROOT_DIRECTORY=/usr/local/gcc-3.3.2"
一些变量,例如工具集变量TOOLS ,可以接收多个用空格分开的值。 其他的,比如上述的path,可以包含空格。对于一些环境,你还可以引用其他适当的设置方法(译者注:这可能是说可以使用shell变量一类的东西)。