`
Goldice
  • 浏览: 108128 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

C++之Boost使用

阅读更多

1. Get & Build & Install Boost

download boost from http://www.boost.org/

进入boost目录,使用命令:

./bootstrap.sh --prefix=path/to/installation

./b2 install

如此之后:

leave Boost binaries in the lib/ subdirectory of your installation prefix. You will also find a copy of the Boost headers in theinclude/ subdirectory of the installation prefix, so you can henceforth use that directory as an #include path in place of the Boost root directory.

 

2. Use Boost

1) Header-Only Libraries

Most Boost libraries are header-only: they consist entirely of header files containing templates and inline functions, and require no separately-compiled library binaries or special treatment when linking.

比如下面这个例子,使用的就是header-only的library.

 

#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>

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

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

 

编译:

 

c++ -I path/to/boost_1_47_0 example.cpp -o example

then:

 

echo 1 2 3 | ./example
 

 

 

2) Separately-Compiled Binary

 

#include <boost/regex.hpp>
#include <iostream>
#include <string>

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))
            std::cout << matches[2] << std::endl;
    }
}

 

 编译:

 

g++ -I /home/bin.jinb/usr/local/boost/include/ test.cc -o test  \
-L /home/bin.jinb/usr/local/boost/lib/ -lboost_regex   

 

或者:

 

g++ -I /home/bin.jinb/usr/local/boost/include/ test.cc -o test \
 /home/bin.jinb/usr/local/boost/lib/libboost_regex.a 
 

 

 

 

 

分享到:
评论

相关推荐

    C++ boost库,最新版本

    Boost社区的发起人Dawes本人就是C++标准委员会的成员之一。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。STL集中在...

    标准C_C++_boost基础学习_boost开发

    综上所述,学习“标准C C++ STL boost基础 boost开发”不仅需要掌握C++语言的基础和STL的使用,还要深入了解Boost库的各个组件,以及如何在实际项目中应用和开发Boost库。通过阅读提供的学习资源,可以逐步提升C++...

    C++库 boost-1-83版本

    Boost库在C++社区中有着广泛的应用,许多 Boost 库已被采纳为C++标准库的一部分。Boost-1-83版本是Boost库的一个特定历史版本,它可能包含了那个时期Boost开发团队所实现的功能和优化。 **Boost库的主要组件** 1. ...

    C++ BOOST 正则表达式使用教程

    C++ BOOST 正则表达式使用教程 正则表达式是一种用来描述一定数量文本的模式,用于匹配和处理大量规则的文本格式。 Regex 代表 Regular Express。C++ 中使用 Boost 库的 regex 类来实现正则表达式。 正则表达式的...

    C++使用的boost库

    通过使用Boost库,开发者可以编写出更健壮、更高效的代码,同时还能享受到现代C++编程的便利。由于Boost库的广泛采用,许多组件已被纳入C++标准库,这进一步证明了其价值和影响力。在实际项目中,熟练掌握Boost库的...

    c++_boost库下载学习

    Boost库在C++社区中享有极高的声誉,被广泛认为是除了C++标准库之外最值得信赖的第三方库之一。Boost库的优点在于其高质量的代码、强大的功能以及跨平台的兼容性。它不仅能够提高开发效率,还能提升代码质量,是C++...

    boost中文手册C++

    Boost中文手册是面向中文用户的指南,帮助开发者理解和使用Boost库中的各种组件。 Boost库包含了许多模块,如智能指针、多态函数对象、容器扩展、算法、数学工具、线程管理、日期时间处理、正则表达式、序列化、...

    [Boost C++] Boost C++ 应用开发经典实例 (英文版)

    《Boost C++应用开发经典实例 (英文版)》是一本专为C++开发者设计的实践指南,涵盖了Boost库在实际项目中的应用。Boost是C++社区的一个重要资源库,提供了许多高质量、经过广泛测试的库,可以显著提升C++程序的效率...

    C++ BOOST 库中文指南

    Boost库使用最先进的C++特性进行实现,并且具有良好的跨平台兼容性,能够在多种操作系统上运行,包括Windows、Linux等。 1.2 **开发过程** Boost库的开发过程非常开放和透明,鼓励社区参与贡献。这使得Boost库不仅...

    C++ Boost 库中文文档

    **C++ Boost库**是C++编程语言的一个开源库集合,它为标准库提供了一系列的扩展,涵盖了诸如并发、算法、容器、智能指针、序列化、正则表达式、图形算法等多种领域。Boost库的设计目标是提升C++的效率、可移植性和可...

    c++ boost asio http get post请求

    在`boost_asio_http_sample`这个压缩包中,应该包含有完整的示例代码,你可以通过查看这些代码来进一步学习和理解如何在C++中使用Boost.Asio实现HTTP GET和POST请求。记得根据实际需求进行修改,例如处理HTTPS连接、...

    c++ boost库1.73.0 boost最新版

    Boost社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,Boost社区的发起人Dawes本人就是C++标准委员会的成员之一。在Boost库的开发中,Boost社区也在这个方向上取得了丰硕的成果。在送审的C++标准库TR1...

    C++Boost的Regex库用法

    总的来说,掌握Boost Regex库的使用对于任何需要处理文本数据的C++开发者来说都是十分必要的。它不仅可以提高代码的效率,还可以使文本处理工作变得简单快捷。由于Boost库遵循开源协议,开发者可以在遵守相应许可的...

    c++boost库最新版本

    5. **函数对象和适配器**:Boost为函数对象提供了多种适配器,如bind、mem_fn、ptr_fun等,使得函数和成员函数能够更灵活地与其他组件结合使用。 6. **算法库**:Boost.Algorithm库包含了许多实用的算法,如查找、...

    基于boost.asio库的C++http/https web server

    在C++编程领域,构建一个Web服务器是一项挑战,但有了Boost库的支持,这个过程变得更为便捷。Boost.ASIO库是Boost库的一部分,它提供了异步I/O操作,使得处理网络通信变得更加高效。在这个项目中,我们看到一个使用...

    C++RPC基于boost.asio、boost.serialization等boost库进行反射.zip

    在IT行业中,RPC(Remote Procedure Call)是一种分布式计算技术,允许程序在不同的计算机上像调用本地函数...理解并掌握如何使用Boost库和反射进行RPC开发,对于提升C++程序员在分布式系统开发中的能力具有重要意义。

    C++ STL BOOST经典文章集合

    在“C++BOOST.chm”这个文档中,我们可以期待找到关于如何使用STL和BOOST进行高效编程的详细教程和实例。这可能包括如何选择和使用不同的容器来存储和操作数据,如何利用迭代器遍历和修改容器,以及如何应用各种内置...

Global site tag (gtag.js) - Google Analytics