当前位置: 首页 > 编程日记 > 正文

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 

相关文章:

这就是芬兰:先让全国1%的人学起AI!

译者 | 大鱼责编 | 琥珀出品 | AI科技大本营【AI科技大本营导语】全球最大的手机制造商诺基亚、著名游戏《愤怒的小鸟》的开发商 Rovio&#xff0c;这两大曾名噪一时的科技公司都来自同一个国家——芬兰。很多人会问&#xff1a;在如此激烈的竞争环境下&#xff0c;为什么如此小…

Linux 裸设备基础知识(转)

1、裸设备定义&#xff1a;一块没有分区的硬盘&#xff0c;称为原始设备(RAW DEVICE)或者是一个分区&#xff0c;但是没有用EXT3,OCFS等文件系统格式化,称为原始分区(RAW PARTITION)以上两者都是裸设备 2、裸设备的绑定有文件系统的分区是采用mount的方式挂载到某一个挂载点的…

吴恩达与LG握手合作!

图片来自LG官网作者 | 琥珀出品 | AI科技大本营在近日举办的 CES 大会上&#xff0c;人工智能领域知名科学家、Landing.ai 创始人兼 CEO 吴恩达&#xff08;Andrew Ng&#xff09;与 LG&#xff08;LG Electronics&#xff09;总裁兼 CTO IP. Park 在拉斯维加斯签署了战略合作伙…

linux上安装mysql,tomcat,jdk

Linux 上安装 1 安装jdk 检测是否安装了jdk 运行 java –version若有 需要将其卸载a) 查看安装哪些jdk rmp –qa |grep java b) 先卸载openjdk 1.7 c) 在卸载openjdk 1.6 使用rpm –e - -nodeps 卸载的包 安装jdka) 上传jdk到linux 使用Xftp5…

现代人的无知什么样

以前没有知识的人就是无知&#xff01; 但现在变了&#xff01;一个博士却不会用他的知识挣钱养家糊口算不算无知&#xff0c;一个人大学毕业却不会学习算不算无知&#xff0c;一个经理在自己的电脑上找不到自己存的东西算不算无知&#xff0c;有知识却不会表达的人算不算无知…

zz Expect的安装

转载一篇靠谱的文章&#xff0c;按照文章所述方法一次成功。只不过我的expect二进制文件最后实在tcl的bin目录下&#xff0c;而不是expect的bin目录下&#xff0c;这个令我有些疑惑&#xff0c;whatever&#xff0c;不算什么大问题&#xff0c;注意一下就好了。A. Tcl 安装 主页…

分享一个ssh打通的脚本

分享一个ssh打通的脚本&#xff0c;经过测试可用。目前只能单向打通&#xff0c;且要求本地用户名为admin(写入代码&#xff0c;可简单修改)。本身只是个人使用&#xff0c;故通用性、异常情况考虑不多&#xff0c;大家可以做个参考。 补充一点&#xff0c;Important Tip&…

从云计算到AI:NetApp的数据网络转型之道

毫无疑问&#xff0c;在 AI、大数据、云计算等新技术潮流的冲击下&#xff0c;各行业企业的数字化转型进程日益加速&#xff0c;社会正在进入一个全新的数据融合时代。这一过程中&#xff0c;人们一方面对技术予以高期待&#xff0c;期望给行业进行业务重构&#xff0c;但另一方…

侧方位停车技巧

侧方位停车技巧 侧方位停车相对来说是比较容易的&#xff0c;只要掌握要领就能够正确地倒入车位中。具体要领如下&#xff1a; 第一步先打右转向灯&#xff0c;挂倒档&#xff0c;保持车辆平稳、缓慢地倒车&#xff1b;第二步回头看桩&#xff0c;当右后车门三角窗中部与1号桩&…

微信是把“杀猪刀”,还改变了我的表情包

整理 | Jane出品 | Python大本营1 月 9 日上午&#xff0c;一年一度的微信公开课 PRO 在广州举行&#xff0c;会上发布了《2018微信年度数据报告》。报告的第一部分是 2018 年微信用户活跃数、发送消息与音视频通话数据&#xff1b;第二部分根据微信用户画像&#xff0c;针对不…

中缀、前缀表达式

为什么80%的码农都做不了架构师&#xff1f;>>> 一、后缀表达式求值 后缀表达式也叫逆波兰表达式&#xff0c;其求值过程可以用到栈来辅助存储。假定待求值的后缀表达式为&#xff1a;6 5 2 3 8 * 3 *&#xff0c;则其求值过程如下&#xff1a; 1&#xf…

Linux之tee命令

语  法&#xff1a;tee [-ai][--help][--version][文件...]补充说明&#xff1a;tee指令会从标准输入设备读取数据&#xff0c;将其内容输出到标准输出设备&#xff0c;同时保存成文件。参  数&#xff1a;-a或--append  附加到既有文件的后面&#xff0c;而非覆盖它&…

在WinXP上通过Virtual PC安装WinCE

开发WinCE程序的调试&#xff0c;要么用Emulator&#xff0c;要么用触摸屏等等硬件&#xff0c;模拟器不真实&#xff0c;硬件又难找还不易随身带。象我这样穷得买不了带CE的PDA&#xff0c;懒得不想下巨型的PB、VS&#xff0c;要随时调试还真不容易。试过VMWare&#xff0c;效…

valgrind概述及错误分析

Valgrind由内核&#xff08;core&#xff09;以及基于内核的其他调试工具组成.内核类似于一个框架&#xff08;framework&#xff09;,它模拟了一个CPU环境,并提供服务给其他工具.而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。 Valgrind包…

超过C++、压制Java与C,Python拔得TIOBE年度编程语言!

作者 | 屠敏来源 | CSDN&#xff08;ID&#xff1a;CSDNNews&#xff09;如同两个月前&#xff0c;TIOBE 编程语言社区于官网预料的那般&#xff0c;2018 年的年度编程语言终将在一众老牌编程语言如 Java、C、C、Python、Visual Basic .NET 中诞生。近日&#xff0c;TIOBE 排行…

CodeArt SharePoint Permission Extension 1.0 beta publish

正式发布1.0版本&#xff0c;已经打包成wsp&#xff0c;请到以下地址下载&#xff1a;http://sppex.codeplex.com/Release/ProjectReleases.aspx?ReleaseId30671 解压后&#xff0c;运行wsp_addsolution.cmd安装解决方案&#xff0c;到管理中心-》操作-》解决方案管理安装解决…

《请不要回应外星人2019》

作者 | 若名出品 | AI科技大本营 今天早上&#xff0c;关于“加拿大天文学家发现 15 亿光年外讯号”的话题一度被推到了微博热搜榜第二位&#xff0c;当然也引发了全球范围内的关注。舆论导向都是&#xff0c;“人类该不该做出回应&#xff1f;”翻了一圈评论&#xff0c;人…

如何使用Log4j?

要学习什么是log4j,那我们也知道log4j能干吗??这里就不阐述了,可以自己去google1、 Log4j是什么&#xff1f; Log4j可以帮助调试&#xff08;有时候debug是发挥不了作 用的&#xff09;和分析&#xff0c;要下载和了解更详细的内容&#xff0c;还是访问其官方网站吧&#xf…

解决:无法创建该DNS 服务器的委派

第一次安装AD DNS的时候&#xff0c;你可能遇到以下的提示&#xff0c;无法创建该DNS 服务器的委派&#xff0c;这是一个提示&#xff0c;而不是一个报错。 以下是详细的说明。 将具有 DNS 服务器的新 Windows Server 2008 或 Windows Server 2008 R2 域控制器安装到 treyr…

SQL to Elasticsearch java code

把Elasticsearch当成Database用&#xff0c;因为Elasticsearch不支持SQL&#xff0c;就需要把SQL转换成代码实现。 1.按某个field group by查询count SELECT fieldA, COUNT(fieldA) from table WHERE fieldC "hoge" AND fieldD "huga" AND fieldB…

【转载】linux静态链接库与动态链接库的区别及动态库的创建

这篇文章对于动态库的概念及使用介绍的很不错&#xff0c;故收藏了。一、引言通常情况下&#xff0c;对函数库的链接是放在编译时期&#xff08;compile time&#xff09;完成的。所有相关的对象文件&#xff08;object file&#xff09;与牵涉到的函数库&#xff08;library&a…

买不到回家的票,都是“抢票加速包”惹的祸?

作者 | 屠敏来源 | CSDN&#xff08;ID&#xff1a;CSDNNews&#xff09;距离国家法定春节假日不足一个月&#xff0c;且首批除夕票已于近日正式开售。但万万没想到&#xff0c;当人、钱、手机、PC、iPad 万事俱备之际&#xff0c;东风刮得太快&#xff0c;眼巴巴盯着将于整点开…

HTSRealistic missions 10:Holy Word High School

这到题说实在的挺难。。。首先进入页面&#xff0c;进去后查看源代码发现有个空图片&#xff0c;图片是个链接&#xff0c;链接到staff.php。点击进入要求用户名密码&#xff0c;尝试注入&#xff0c;无效在来至主页&#xff0c;有个staff list的链接&#xff0c;点进去&#x…

Makefile的东西

宏定义&#xff1a; 1. Makefile中直接定义宏 OBJECTSfilea.o fileb.o filec.o #定义宏 Zfiled.oprog: $(OBJECTS) #引用宏cc $(OBJECTS) -o prog #我的机子环境中需要4个tab键prog1: $Z #引用宏&#xff0c;单个字符无需加园括号cc $Z -o prog12. 在make命令之后带有新的宏定…

TensorFlow 2.0开发者预览版发布

整理 | Jane出品 | AI科技大本营从去年 8 月 Google 公开发布消息正在研发 TensorFlow 2.0 &#xff0c;让我们在 12 月 提前看到了一些 高级 API 的变化&#xff0c;今天我们终于等来了“tf-nightly-2.0”&#xff0c;一个 TensorFlow 2.0 开发者预览版。在今天 Wicke 的邮件中…

DOCKER OVERLAY NETWORK consul 注册

下载 consul 二进制包并启动 wget https://releases.hashicorp.com/consul/0.9.2/consul_0.9.2_linux_amd64.zip unzip consul_0.9.2_linux_amd64.zip mv consul /usr/bin/consul && chmod x /usr/bin/consul nohup consul agent -server -bootstrap -ui -data-dir /va…

怎么写shell脚本才能不耍流氓?

1、不记录日志的 SHELL 脚本就是耍流氓&#xff01; 我们经常在工作中会遇到一个苦恼的事情&#xff0c;一个 Shell 脚本到底干了什么&#xff0c;什么时候开始执行&#xff0c;什么时候结束的。尤其是数据库备份&#xff0c;我们想知道我们的 MySQL 数据库备份时间。所以给脚本…

透过腾讯张潼离职事件,看AI研究院如何才算成功?

作者 | 洪亮劼编辑 | 琥珀【AI科技大本营导读】近日腾讯 AI Lab 第一负责人张潼博士的离职事件&#xff0c;让不少圈内人士对企业 AI 研究院/实验室的定位、落地能力等问题进行了深刻思考和讨论。据最新消息&#xff0c;张潼未来将回到学界&#xff0c;继续 AI 领域的学术研究&…

java vs .net

... vs paramsjavaprivatestaticintsumUp(int... values) { intsum 0; for(inti 0; i < values.length; i) { sum values[i]; } returnsum; } .netparams 关键字在方法成员的参数列表中使用&#xff0c;为该方法提供了参数个数可变的能力它在只能出现一次并…

#QCon# Devops

今天参加了QCon2011 杭州。听了百度项目管理部的乔梁关于“Devops”的分享。比如如下&#xff1a; continuous integration —— Dev &#xff0c; QA agile —— Business&#xff0c;Dev&#xff0c;QA devops —— Dev&#xff0c;QA&#xff0c;Ops Devops Culture Too…