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>zhangsan@qq.com</email>
<person>

protobuf这样定义

person{
  name:"zhangsan"
  email:"zhangsan@qq.com"
}

json中这样定义

{
  "person":{
    "name":"zhangsan",
    "email":"zhangsan@qq.com"
  }
}

protobuf的语法

具体可以参考:https://segmentfault.com/a/1190000007917576

Message定义 

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

Service服务 

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

protobuf在ubuntu 下安装 【版本16.04】

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

(0)

相关推荐

  • 在 Ubuntu 上安装 Protobuf 3 的教程详解

    什么时候需要安装 如果使用 protoc 命令,遇到 Protoc not found,表示未安装.或者,执行时出现错误:This parser only recognizes "proto2",则表示不是3.0版. 安装过程及可能遇到的问题 安装指令 详细介绍请参考此文:protobuf简单介绍和ubuntu 16.04环境下安装 依次执行以下命令,下载源码编译安装,需要较长时间,超过10分钟. sudo apt-get install autoconf automake libto

  • protobuf简单介绍和ubuntu 16.04环境下安装教程

    protobuf简单介绍 protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法. protobuf的优点 大家都在用,起码'装逼'的都在用[咱要跟上时代] 别人说性能好,二进制格式[大项目不用这个,感觉丢人] 跨平台支持各种语言,前后兼容好强大[毕竟人家谷歌在用了] protobuf的缺点 二进制格式,一般人看不了 缺乏自我描述 xml是自我描述的,但是protobuf格式不是的,

  • Ubuntu 16.04 LTS下安装MATLAB 2014B的方法教程

    环境配置说明: 环境:Ubuntu 16.04LTS 软件:MATLAB 2014B MATLAB 2014B 下载地址(带Crack)如下: 百度云下载:   链接: https://pan.baidu.com/s/1kVJQVlX  密码: pj9m 本 地 下 载:    Ubuntu 16.04 LTS 官方正式版 32位                          Ubuntu 16.04 LTS 官方正式版 64位 步骤如下:  1.直接解压 matlab_R2014b.iso

  • ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解

    正好最近的域名备案通过了,兴起就突然想做一个网页,虽然之前去备案域名也是有这个目的. 问过几个人,说用linux上用PHP搭建网站很简单,就试着做了一个,这里主要说一下登录验证相关的部分: 首相准备几个文件,主要是index.php.conn.php.data.php以及login.php; login.php 主要是登录过程中的数据对比部分:其中include ('conn.php')内容在下面有说. <?php if(!isset($_POST['submit'])){ exit('logi

  • 在Ubuntu 16.04 Server上安装Zabbix的方法

    监控服务器 - 什么是 Zabbix Zabbix 是企业级开源分布式监控服务器解决方案.该软件能监控网络的不同参数以及服务器的完整性,还允许为任何事件配置基于电子邮件的警报.Zabbix 根据存储在数据库(例如 MySQL)中的数据提供报告和数据可视化功能.软件收集的每个测量指标都可以通过基于 Web 的界面访问. Zabbix 根据 GNU 通用公共许可证版本 2(GPLv2)的条款发布,完全免费. 在本教程中,我们将在运行 MySQL.Apache 和 PHP 的 Ubuntu 16.04

  • 详解ubuntu 16.04 LTS 降级安装gcc 4.8

    由于gcc在5.x版本修改了ABI,导致新版本gcc编译的二进制文件放在老的环境下会报错,所以需要安装gcc4.8.5.4.8.5这个版本支持c++11. 首先尝试下载gcc-4.8.5的源码编译安装,结果make时报错"libstdc++.so.6: : version `CXXABI_1.3.8' not found".查了一下,不能用新版gcc来编译老版的gcc源码,(╯‵□′)╯︵┻━┻. 其实,在ubuntu上安装老版gcc十分简单,直接用apt-get命令下载即可. 第一步

  • 详解ubuntu 16.04安装docker教程

    本文介绍了ubuntu 16.04安装docker教程,具体如下: 环境 操作系统:ubuntu 16.04 64位,默认安装 准备 1. 添加GPG key: $ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D 2. 添加源 新建文件:/etc/apt/sources.list.d/docker.list,

  • Ubuntu 16.04源码编译安装Apache 2.4.25教程

    本文为大家介绍了Ubuntu 16.04源码编译安装Apache,供大家参考,具体内容如下 apache 安装指南:http://httpd.apache.org/docs/2.4/install.html 安装指南上面有详细的安装过程,这里我只说些注意事项: 1.编译安装apache有些依赖环境必须安装,不然后面编译会报找不到相应多文件: APR(Apache portable Run-time libraries,Apache可移植运行库)和APR-Util,apr介绍可以参见:http:/

  • ubuntu 16.04安装redis的两种方式教程详解(apt和编译方式)

    ubuntu 16.04安装redis的两种方式教程如下所示: 方式一 :apt安装 在 Ubuntu 系统安装 Redi 可以使用以下命令: $sudo apt-get update $sudo apt-get install redis-server 启动 Redis $ redis-server 查看 redis 是否启动? $ redis-cli 以上命令将打开以下终端: redis 127.0.0.1:6379> 127.0.0.1 是本机 IP ,6379 是 redis 服务端口.

  • ubuntu 16.04系统完美解决pip不能升级的问题

    原来环境:64位ubuntu 16.04 LTS系统,pip版本为8 问题:使用提示命令pip install –upgrade pip也无法解决升级  解决方法:源码安装pip-9.0.1 1 从pip官网下载压缩包pip-9.0.1.tar.gz 2 解压安装   3 查看pip版本,发现使用的是9.0.1版本 总结 以上所述是小编给大家介绍的ubuntu 16.04系统完美解决pip不能升级的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对

  • 详解Ubuntu 16.04 pycharm设置桌面快捷启动方式

    本文介绍了Ubuntu 16.04 pycharm设置桌面快捷启动方式,分享给大家,具体如下: 在ubuntu环境中每次使用pycharm需要到它的安装目录中执行./pycharm.sh来启动pycharm.比较麻烦,既然ubuntu提供了桌面环境我们应该从分利用. Ubuntu下所有的快捷方式都在: /usr/share/applications 解压 这里我将pycharm下载并解压到了/home/snakeson/developer文件夹下 这里的pycharm.sh是批处理执行文件,pr

随机推荐