网站运营
位置:首页>> 网站运营>> protobuf简单介绍和ubuntu 16.04环境下安装教程

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

作者:宛十八  发布时间:2023-03-21 08:30:42 

标签:protobuf,ubuntu

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的语法

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之后的截图

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

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

$ protoc --version12

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

总结

以上所述是小编给大家介绍的protobuf简单介绍和ubuntu 16.04环境下安装教程,网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://blog.csdn.net/kdchxue/article/details/81046192

0
投稿

猜你喜欢

  • 在上一篇博文https://www.jb51.net/article/100521.htm中未设置的openwrt无法连接外网本文增加网络设
  • 代理服务器的功能是代理网络用户取得网络信息,它是网络信息的中转站。随着代理服务器的广泛使用,随之而来的是一系列的安全问题。由于没有对代理服务
  • 打开: js/upload.js找到: alert(sel.text);删除该代码
  • 大家好,我是杜晓帅~,做为一个后端开发,因为要学的技术比较多,而各种技术又必须要安装各种包或者配置环境,所以为了保护自己电脑的系统,不让他轻
  • 新做了一个资料类的网站,因为女朋友从事的职业的关系,老是让我给她找资料,也发现了很多资料网站的问题,这里谈一下自己对资料网站的看法:1.既然
  • 因为手动发文章比较多,添加tag标签的时候老是要切换输入法,非常麻烦,在网上找了下,看到的几乎都是同一个人发的文章被转载的,代码其实是错误的
  • 安装首先需要安装好Java和Scala,然后下载Spark安装,确保PATH 和JAVA_HOME 已经设置,然后需要使用Scala的SBT
  • 日前,因QQ互联帐号接入政策限制在新浪微博上出现了广泛的争议,多个知名社区负责人表示无法申请QQ互联接入服务,随后有消息称Discuz将推独
  • GoDaddy Backorder域名抢注据说机率还是比较大的,我没搞过抢注,一个很好的米农朋友给我介绍了不少经验,呵呵,看他们的
  • 如果说Ubuntu是现今最受桌面用户欢迎的Linux操作系统,那么CentOS就是最受公司、企业、IDC喜爱的Linux发行版了,得益于它极
  • 在这个被Ajax技术统治的互联网时代,很多Ajax程序都会在异步读取数据的同时,显示一个正在读取或Loading的动画。今天彬Go要向大家推
  • 昨天把治军送我的积木万年历拿到了办公室,放在电脑边。它每月需要调整一次,但使用简单、有趣,而且配有各种图标以提醒我的当月行程安排。在这里对治
  • Cherokee 号称是目前最快的 Web 服务器软件,在性能上,甚至比 Nginx 还略胜一筹。与 Apache、Lighttp
  • 你的服务器上是否存有一些不能随意公开的重要数据呢?当然有吧?而最近,偏偏服务器遭受的风险又特别大,越来越多的病毒、心怀不轨的黑客,以及那些商
  • 不知不觉写程序已经做了2年,有成功的喜悦,也有失败的痛苦,但总不敢称自己是高手,因为和我心目中真正的高手们比起来,还差的太远。世界上并没有成
  • rm -rf mydir /* 删除mydir目录 */cd mydir /* 进入mydir目录 */cd - /* 回上一级目录 */c
  • 原创:第一次在网络上发表的内容。伪原创:对原创进行过修改的转载发表。搜索引擎对于原创判断的几个因素:1、文章在搜索引擎数据库里有没有,有没有
  • 概要本文介绍了如何为“Internet 信息服务”(IIS)“简单邮件传输协议”(SMTP) 邮件中继服务器配置远程域。Windows Se
  • 功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。可以用该命令实现DOS下的 diskcopy命令的作用。先用
  • “您希望通过广告获得更多收入,但又不想向用户展示没有针对性的广告。 Google AdSense? 解决了这一问题,它可以自动投放根据网站和
手机版 网站运营 asp之家 www.aspxhome.com