找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1054|回复: 3

[分享] Boost库的介绍

[复制链接]

已领礼包: 13个

财富等级: 恭喜发财

发表于 2017-1-5 11:27:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

一、Boost库的介绍

       Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。
      Boost库中比较有名的几个库:
   (1)Regex,正则表达式库;
   (2)Spirit,LL parser framework,用C++代码直接表达EBNF;
   (3)Graph,图组件和算法;
   (4)Lambda,在调用的地方定义短小匿名的函数对象,很实用的functional功能;
   (5)concept check,检查泛型编程中的concept;
   (6)Mpl,用模板实现的元编程框架;
   (7)Thread,可移植的C++多线程库;
   (8)Python,把C++类和函数映射到Python之中;
   (9)Pool,内存池管理;
   (10)smart_ptr,智能指针。

二、Boost库的地址

    Boost库的下载地址:http://www.boost.org/users/download/

三、Boost库的安装和编译

    (1)下载Boost库,如boost_1_42_0.zip。解压到目录,如D:/Program Files/Boost/boost_1_42_0。
    (2)编译生成bjam程序。进入控制台(运行--->输入cmd--->确定),用cd命令进入Boost目录下的tools/jam/src目录,如D:/Program Files/Boost/boost_1_42_0/tools/jam/src。使用build命令编译并生成bjam程序。
  • BCC5.5/BCB6/BCB2006/CB2009用户输入:build borland
  • VC用户依据其版本输入:build vc7或vc8或vc9。
  • Mingw用户输入:build mingw

    (3)用bjam程序编译Boost库。把生成的bjam.exe(bin.ntx86目录下)拷贝到Boost根目录下,如D:/Program Files/Boost/boost_1_42_0。进入控制台,用cd命令进入Boost根目录下,使用bjam编译Boost,输入命令:
bjam --toolset=borland(对应BCB)或msvc(对应VC)或gcc(对应Mingw) stage

       例如:(第一个是编译,第二个是安装)
  • bjam --toolset=msvc-8.0 --build-type=complete --prefix="d:/Program Files/Boost/boost_1_42_0" stage
  • bjam  --toolset=msvc-9.0 --build-type=complete --prefix="d:/boost_1_42_0" install
  参数说明:
  • toolset:所使用compiler,Visual Studio 2005 为 msvc-8.0。
  • build-type:编译类型,complete表示生成所有的版本(debug,release等)。
  • prefix:指定编译后library的的目录。
       开始编译Boost库,编译时间比较长(大概半小时左右,依编译器以及选项不同而不同),编译好的文件会放在./stage/lib(依--stagedir=命令决定)里。

    (4)添加Boost库的环境变量。我的电脑--->属性--->高级--->环境变量,新建系统变量:
BOOST_ROOT=D:/Program Files/Boost/boost_1_42_0

    (5)配置Visual Studio 2005的环境。VS2005的Tools--->Options--->Projects and Solutions--->VC++ Directories:

  • 在Library files中加入:D:/Program Files/Boost/boost_1_42_0/stage/lib
  • 在Include files中加入:D:/Program Files/Boost/boost_1_42_0/boost

表1. bjam的其它参数--build-dir=<builddir>编译的临时文件会放在builddir里(编译完就可以把它删除了)
--stagedir=<stagedir>存放编译后库文件的路径,默认是stage
--build-type=complete编译所有版本,不然只会编译一小部分版本(相当于:
variant=release,threading=multi;
link=shared|static;runtime-link=shared)
variant=debug|release决定编译什么版本(Debug or Release)
link=static|shared决定使用静态库还是动态库
threading=single|multi决定使用单线程还是多线程库
runtime-link=static|shared决定是静态还是动态链接C/C++标准库
--with-<library>只编译指定的库,如输入--with-regex就只编译regex库了
--show-libraries显示需要编译的库名称
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 1304个

财富等级: 财源广进

发表于 2017-1-5 12:48:56 | 显示全部楼层
啥也不说了,感谢楼主分享哇!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 2477个

财富等级: 金玉满堂

发表于 2017-1-5 16:08:18 | 显示全部楼层
学习了,谢谢!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 112个

财富等级: 日进斗金

发表于 2017-1-7 21:11:14 | 显示全部楼层
这个库很强大
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-22 22:54 , Processed in 0.351197 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表