C++ Boost入门

  1、简介:

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

  2、下载、安装及使用示例:

  下载(http://www.boost.org/users/history/version_1_57_0.html),得到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 # --with-libraries=list. list或取值"all",或指定要编译的库的集合,用逗号分割 ./bootstrap.sh --show-libraries --with-libraries=python
# 把头文件和已编译的库文件安装到指定路径(/usr/local/include/boost/和/usr/local/lib/) ./b2 install

  以下是一个示例(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/

 

不断学习中。。。

你可能感兴趣的:(boost)