protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法。这篇文章主要介绍了protobuf简单介绍和ubuntu 16.04环境下安装教程,需要的朋友可以参考下

protobuf简单介绍

  protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法。

protobuf的优点

    大家都在用,起码‘装逼'的都在用
    别人说性能好,二进制格式
    跨平台支持各种语言,前后兼容好强大

protobuf的缺点

    二进制格式,一般人看不了 缺乏自我描述

xml是自我描述的,但是protobuf格式不是的,给你一段二进制文件,你看不出来作用

protobuf使用步骤

    定义自己的数据结构格式(.pro)源文件 利用protobuf提供的编译器编译源文件 利用protobuf go的api读写信息

比如定义一个结构化数据person,包含name和email属性

xml中这样定义

<person>
 <name>zhangsan</name>
 <email>[email protected]</email>
<person>

protobuf这样定义

person{
 name:"zhangsan"
 email:"[email protected]"
}

json中这样定义

{
 "person":{
  "name":"zhangsan",
  "email":"[email protected]"
 }
}

protobuf的语法

Message定义 

  一个message类型定义一个请求或相应的消息格式,可以包含多种类型

Service服务 

  如果需要将消息类型用在rpc上面,那就需要在.proto文件定义一个rpc服务接口,protocol buffer编译器会根据所选择的不同语言生成服务接口代码。

protobuf在ubuntu 下安装

  官方地址:https://github.com/google/protobuf/blob/master/src/README.md

安装命令行如下:

$ sudo apt-get install autoconf automake libtool curl make g++ unzip
$ git clone https://github.com/google/protobuf.git
$ cd protobuf
$ git submodule update --init --recursive
$ ./autogen.sh
$ ./configure
$ make
$ make check
$ sudo make install
$ sudo ldconfig # refresh shared library cache.

make之后的截图


中途编译一路顺风,没有遇到什么问题,下面查看下版本吧

$ protoc --version12

总结

以上所述是小编给大家介绍的protobuf简单介绍和ubuntu 16.04环境下安装教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对爱安网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

最新资讯
马斯克:今年晚些时候在中国部署太阳能屋顶业务

马斯克:今年晚些时候在

据国外媒体报道,北京时间2月17日,特斯拉CEO埃隆·马斯克
复工第一天,马云给湖畔学员的3点建议和1篇荐文

复工第一天,马云给湖畔

当前,前方抗击疫情的行动仍在继续,后方企业开始逐步恢复
上网越来越容易:谷歌宣布关闭免费WiFi项目Station

上网越来越容易:谷歌宣

谷歌今日宣布,由于上网变得越来越容易,公司决定在今年关
三星电子被起诉:侵犯英国公司Nanoco量子点专利

三星电子被起诉:侵犯英

英国纳米技术公司Nanoco今日表示,已向美国德州一家地方
华为HMS服务或将在欧洲亮相 应用数量已超5.5万款

华为HMS服务或将在欧

今日有媒体报道称,荣耀将于下周面向欧洲市场发布搭载HM
OPPO制定造芯片计划:建立技术委员会 并提出3计划

OPPO制定造芯片计划:建

2月16日晚间,OPPO CEO特别助理发布内部文章《对打造核
最新文章
linux中批量添加文件前缀的操作方法

linux中批量添加文件

这篇文章主要介绍了linux中批量添加文件前缀的操作方
Linux安装与卸载Tomcat8的详细图文教程

Linux安装与卸载Tomca

这篇文章主要介绍了Linux安装与卸载Tomcat8的详细图文
Linux bridge桥接两个VirtualBox虚拟网络的方法步骤

Linux bridge桥接两个

这篇文章主要介绍了Linux bridge桥接两个VirtualBox虚
在 awk 中使用循环

在 awk 中使用循环

awk 脚本有三个主要部分:BEGIN 和 END 函数(都可选),用户
Linux tee命令使用详解

Linux tee命令使用详

这篇文章主要介绍了Linux tee命令使用详解,文中通过示
docker 使用mysqldump命令备份导出项目中的mysql数据

docker 使用mysqldump

这篇文章主要介绍了docker 使用mysqldump命令备份导出