随着时代的进步科技的发展Visual Studio Boost版本也快速的简化与升级,下面我就对升级前和升级后的Visual Studio Boost,做一下自己的解析,希望能够对大家有帮助,在这里拿出来和大家分享一下。
并且我也希望能通过这几个小程序使读者能对Visual Studio Boost有一个初步的认识,并尽快加入Boost的用户行列。在写本文的时候,我所使用的环境是Windows XP Home Edition + Boost1.33.1 + Visual Studio .NET 2003 首先是从Boost的主页上下载相关的Boost的压缩包,我下载的是boost_1_33_1.zip,假定我们解压到D盘根目录。解压后的目录结构应该类似 boost_1_33_1<目录> -- boost <目录> -- doc <目录> -- libs <目录> -- more <目录> 等等这些目录和文件。
打开Visual Studio .NET 2003 选择菜单 工具-->选项-->项目-->VC++目录,在“包含文件目录”里,增加一行,如:D:\boost_1_33_1。这样你就可以使用大多数的Boost类库。现在我们来写一个小程序,感受一下Boost。
#include <vector>
#include <iostream>
#include <boost/lexical_cast.hpp>
using namespace boost ;
using namespace std ;
int main(int argc, char * argv[])
{
vector<int> v1;
vector<int>::const_iterator ci_v1 ;
int iLength = 0 ;
while( iLength < 10 )
{
try
{
if ( iLength == 5 )
v1.push_back(lexical_cast<int>("DukeJoe")) ;
else
v1.push_back(lexical_cast<int>(iLength));
}
catch(bad_lexical_cast &ex)
{
cout << ex.what()<< endl ;
v1.push_back(-1);
}
iLength++ ;
}
cout << "vector --> " ;
for ( ci_v1 = v1.begin() ; ci_v1 != v1.end() ; ci_v1++ )
{
cout << *ci_v1 << " " ;
}
cout << endl ;
return 0 ;
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
直接在VS2003里的包含目录加入Visual Studio Boost的目录后,绝大多数的类库就可以使用了,但还有少数的类库需要额外再生成对应操作系统的动态库,才可以使用。我们以Windows+VS2003为环境,以regex类库举例说明。
regex为我们提供了正则表达式功能,其中boost的regex支持perl语法,更极大的提升了我们使用正则表达式所产生的效果。但要想使用regex,我们需要生成相关的lib文件才可以。#t#
生成的步骤如下:开始 --> Microsoft Visual Studio.NET 2003 --> Visual Studio.NET 工具 --> Visual Studio.NET 2003 命令提示。使用这个命令提示符之后,VS就会为我们自动配置好VC环境。打开命令提示符之后,我们进入目录 D:\boost_1_33_1\libs\regex\build ,现在我们敲入 nmake /fvc71.mak 生成lib文件。生成lib文件之后,我们单独建一个文件夹,例如我建立的是d:\boost_libs,然后把所有的*.lib文件拷贝到这个目录。
然后我们打开VS2003,选择菜单 工具-->选项-->项目-->VC++目录,在“库文件”里加入目录d:\boost_libs,这样VS2003在链接时,就会搜索这个目录。