C++ Boost入门


  1、简介:

  Boost是一个同行评审、提供源代码、可移植的C++库。它可以与C++标准库完美地共同工作,并为其提供扩展功能。目前,有一部分Boost库已经被包含在C++标准委员会的程序库技术报告TR1中,并在即将到来的C++标准修订版本中加入。

  2、下载、安装:

  从http://www.boost.org/users/download/下载合适版本的压缩包(如boost_1_57_0.tar.gz) -> 解压为/usr/local/boost_1_57_0,并加一个软链boost指向它。

  大部分Boost库的使用只需包含相应头文件即可,少数(如coroutine、python、regex和thread)需要链接相应的二进制库(library binary)。这些库需要自己编译和安装:

cd /usr/local/boost
# 参考./bootstrap.sh --help
# --show-libraries显示那些需要编译(build)和安装步骤的库的集合
# --with-libraries=list:list或取值"all",或指定要编译的库的集合,用逗号分割 ./bootstrap.sh --show-libraries --with-libraries=regex
# 把头文件和已编译的库文件安装到指定路径(/usr/local/include/boost/和/usr/local/lib/等) ./b2 install

  3、示例:

// example.cpp
#include <boost/regex.hpp> // ... int main() { 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)) { // matches[2]对应pat第2个括号内正则表达式匹配到的字符串,依此类推 std::cout << matches[2] << std::endl; } } }

  编译:g++ example.cpp  -I /usr/local/boost /usr/local/lib/libboost_regex.a。运行:

$ ./a.out 
Subject: Re: Re: Re: How To Build Boost?
How To Build Boost?

 

 

 

  参考资料:

  http://www.boost.org/

 

不断学习中。。。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM