boost序列化

本文详细阐述了在Ubuntu操作系统中如何安装和使用Boost序列化库,包括下载、解压、编译及运行示例,强调了动态链接库的重要性和配置过程中的注意事项。
摘要由CSDN通过智能技术生成

本文介绍了,ubuntu平台下,boost序列化库的安装,编译,使用。

目的

安装序列化库的目的:实现mqtt/payload报文信息

Install

  1. 下载:http://www.boost.org/
  2. 解压:tar -zxvf boost_1_60_0.tar.bz2 (ps: 依据你自己下载的版本)
  3. 执行./bootstrap.sh脚本
  4. 修改 project -config.jam, 作用:自定义编译配置
  5. 单独编译序列化库,./bjam –with -serialization install (**:root下编译,否则权限不够)

萌萌哒的CASE

Example1

/*
* who.cpp 
*/
#include <iostream>
#include <string>
#include <boost/regex.hpp>

using namespace std;
using namespace boost;

int main() {

string s = "who,lives:in-a,pineapple under the sea?";

regex re(",|:|-|\\s+");
sregex_token_iterator
p(s.begin( ), s.end( ), re, -1);
sregex_token_iterator end;

while (p != end)
cout << *p++ << '\n';
return 0;
}

编译

g++ -o wooo wo.cpp -L. /usr/local/lib/libboost_regex.so
(一定要加上动态链接库,boost动态链接库路径: /usr/local/lib/..)

运行

./wooo

输出结果

who
lives
in
a
pineapple
under
the
sea?

例子2: 序列化

//archive.cpp
#include <boost/archive/text_oarchive.hpp>

#include <iostream>
using namespace std;
using namespace boost;

int main()
{
  boost::archive::text_oarchive oa(std::cout);
  int i = 10;
   oa << i;
   return 0;
}

编译

g++ -o ok archive.cpp -L. /usr/local/lib/libboost_serialization.so /usr/local/lib/libboost_wserialization.so

后面的链接库好长,可以定义变量简化

seria="/usr/local/lib/libboost_serialization.so  /usr/local/lib/libboost_wserialization.so"

g++ -o ok archive.cpp $seria

运行

./ok

输出结果

22 serialization::archive 14 10

动态链接库的概念很重要

参考文献

http://www.cnblogs.com/lanxuezaipiao/p/3703988.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值