zoukankan      html  css  js  c++  java
  • 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/

    不断学习中。。。

  • 相关阅读:
    SpringAOP-基于@AspectJ的简单入门
    SpringAOP-切面优先级
    Commons_IO_FileUtils的使用
    java_IO_装饰器
    java_IO_3
    java_IO_2
    java_IO_1
    App Inventor
    java学习_5_24
    java学习_5_23
  • 原文地址:https://www.cnblogs.com/hanerfan/p/4333444.html
Copyright © 2011-2022 走看看