初识Protobuf(C++)

本篇博文主要参考了https://www.ibm.com/developerworks/cn/linux/l-cn-gpb/index.html

简介

Protobuf的全称是Google Protocol Buffer,它是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化,目前提供了 C++、Java、Python 三种语言的 API。

与其类似的技术有XML、JSON等。和它们相比,Protobuf的优点是简单,快。而且它有一个非常棒的特性,即“向后”兼容性好,人们不必破坏已部署的、依靠“老”数据格式的程序就可以对数据结构进行升级。这样您的程序就可以不必担心因为消息结构的改变而造成的大规模的代码重构或者迁移的问题。因为添加新的消息中的 field 并不会引起已经发布的程序的任何改变。

Protbuf 与 XML 相比也有不足之处。它功能简单,无法用来表示复杂的概念。而且XML 已经成为多种行业标准的编写工具,Protobuf 只是 Google 公司内部使用的工具,在通用性上还差很多。

安装Protobuf

Protobuf的源码在https://github.com/protocolbuffers/protobuf上可以下载,上面也有相应的安装教程,这里我赘述一下,方便大家操作。

首先我们需要安装一些编译工具

$ sudo apt-get install autoconf automake libtool curl make g++ unzip

关于autoconf的介绍可以看我的一篇博文Autoconf的学习之路

然后执行以下命令下载Protobuf

$ git clone https://github.com/protocolbuffers/protobuf.git
$ cd protobuf
$ git submodule update --init --recursive
$ ./autogen.sh

接下来编译安装Protobuf

$ ./configure --prefix=/usr
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.

这里我们将其安装在目录/usr下,如果不添加参数--prefix=/usr,默认是安装在/usr/local下的。

那么我们怎么使用Protobuf呢?假设我们有一个文件my_program.cc,其中使用了Protobu

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值