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环境下安装教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对爱安网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

最新资讯
又被王坚刷屏了!民企院士第一人为什么是他?

又被王坚刷屏了!民企院

一群科学家和工程师,凭着一腔热忱,走了无数弯路,去攻克世
北京严厉打击虚拟货币交易 持续保持监管高压态势

北京严厉打击虚拟货币

近日,北京警方一举破获非法数字货币交易所BISS的诈骗案
特朗普要求苹果帮助美国研发5G?分析:极其不可能实现

特朗普要求苹果帮助美

研究公司Nucleus Research的首席执行官Ian Campbell表
世纪华通布局5G云游戏 与中移动咪咕战略合作

世纪华通布局5G云游戏

近日,世纪华通与中国移动集团咪咕文化签署《框架合作协
陆奇新基金出资阵容:孙正义比尔盖茨红杉高瓴北极光

陆奇新基金出资阵容:孙

Y Combinator中国创始人陆奇宣告成立的新基金奇绩创坛
微软小冰首席科学家:我们其实想让小冰更像人

微软小冰首席科学家:我

近日在微软小冰年度研究进展分享会上,微软小冰三大首席
最新文章
Ubuntu18 给terminal改个漂亮的命令行提示符的方法

Ubuntu18 给terminal

这篇文章主要介绍了Ubuntu18 给terminal改个漂亮的命
Linux下Docker及portainer相关配置方法

Linux下Docker及porta

本文以CentOS 7为例,安装docker CE版本,docker有两种版
vmware workstation安装windows server 2019(图文教程)

vmware workstation安

这篇文章主要介绍了vmware workstation安装windows se
protobuf简单介绍和ubuntu 16.04环境下安装教程

protobuf简单介绍和ub

protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSO
ansible删除目录下所有内容的方法

ansible删除目录下所

这篇文章主要介绍了ansible删除目录下所有内容的方法,
基于 ZooKeeper 搭建 Hadoop 高可用集群 的教程图解

基于 ZooKeeper 搭建

Hadoop 高可用 (High Availability) 分为 HDFS 高可用