boost简介: Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。但Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。boost 在一些播放软件和音效中指增强,比如Bass Boost,低音增强。
首先我们需要从官网下载不同平台下的boost库 (www.boost.org),新版本的boost_1_51_0与以前的版本有很大不同,我们不需要bjam来编译boost程序库,以前的版本都需要boost自带的bjam来编译,但51版本则不需要,如果是以前的版本网上有很多的实例。
我们来说说51版本的boost,我们从官网上下到zip压缩文件(windows)和tar.gz(linux),首先我们开始解压压缩文件,解压完之后我们可以看到boost_1_51_0文件夹,我们来解析下文件夹下一些重要的文件boost(文件夹)里面包含了boost全部的头文件,而这个是不需要我们编译的,我们需要编译的只lib文件,这是我们可以看到boosttrap.bat批处理文件(windows和linux下都是这样),我们直接打开它,这是boost_1_51_0文件夹下会出现bjam.exe和b2.exe两个可执行文件,以前都是用bjam来编译需要一个小时左右,而现在只需要运行b2.exe可执行文件就可以了,需要20分钟左右,也不需要输入大量的命令行参数,这时boost_1_51_0文件夹下会出现stage文件夹,里面有一个lib文件夹,这个lib文件夹就是我们所需要编译后的lib文件,最先版boost编译是不是比以前版本的方便多了啊 。。。。
这是我们需要设置环境变量,windows下我们需要一个开发环境vs系列都可以,vc++6.0有些库不能用,以vs2010为例,我们在工程属性中C/C++中添加头文件路径,在link中添加lib路径。在liunux下可以把boost路径设到g++编辑器中,也可以再linux下下个集成编辑环境,再在其中设置路径,其中的我就不一一举例了,这些网上都有,我想说的只是boost51版本与以前版本的不同,以及其中一些重要文件的作用
下面附加一个例子,如果可以运行成功(不管是windows下还是linux下),那么恭喜你,你可以继续后面更加深入的学习了 。
#include <iostream>
#include <boost/lexical_cast>
int main()
{
using boost::lexical_cast;
int a = lexical_cast<int>("123");
double b = lexical_cast<double>("123.12");
std::cout<<a<<std::endl
std::cout<<b<<std::endl;
return 0;
}