您的位置:首页 > 编程语言 > C语言/C++

<Boost> VS2010使用Boost(C++库)

2014-12-23 11:41 435 查看

1. boost库

Boost库由Boost社区组织开发、维护,目的是为C++程序员提供免费、同行审查的、可移植的程序库。
可以与C++库完美共同工作,并且为其提供扩展功能。
Boost库功能强大、构造精巧、跨平台、开源并且完全免费,使用了许多现代C++编程技术,内容涵盖字符串处理、正则表达式、容器与数据结构、并发编程、函数式编程、泛型编程、设计模式实现等许多领域,极大地丰富了C++的功能和表现力,能够使C++软件开发更加简洁、优雅、灵活和高效。
部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。
有名的数据库:
Regex:正则表达式库

Spirit:LL parser framework,用C++代码直接表达EBNF

Graph:图组件和算法

Lambda:在调用的地方定义短小匿名的函数对象,很实用的functional功能

concept check:检查泛型编程中的concept

Mpl:用模板实现的元编程框架

Thread:可移植的C++多线程库

Python:把C++类和函数映射到Python之中

Pool:内存池管理

smart_ptr:智能指针

2. VS2010中使用Boost环境搭建

1.下载Boost库

Boost官网下载(最新版本是1.57.0):
下载地址

2. 解压缩、编译

1)解压缩到你想要的目录。如C:\Program Files\boost_1_57_0, 具体参照官网的指南文件
2)编译(有些库可直接包含头文件即可使用,可暂不编译):
C:\Users\Administrator>cd "C:\Program Files\boost_1_57_0"
C:\Program Files\boost_1_57_0>bootstrap
C:\Program Files\boost_1_57_0>.\b2


3. VS添加相关目录

1) 添加“附加包含目录”

属性->C/C++->常规->附加包含目录



2) 添加“库目录“

属性-> VC++目录 -> 库目录



4. 代码测试
#include <boost/lambda/lambda.hpp>
#include <boost/regex.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>

void TestBoost()
{
	using namespace boost::lambda;
	typedef std::istream_iterator<int> in;

	std::for_each(
		in(std::cin), in(), std::cout << (_1 * 3) << " " );

	std::string line;
	boost::regex pat( "^Subject: (Re: |Aw: )*(.*)" );

	while (std::cin)
	{
		std::getline(std::cin, line);
		boost::smatch matches;
		if (boost::regex_match(line, matches, pat))
			std::cout << matches[2] << std::endl;
	}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: