linux加protobuf变量环境,protobuf简单介绍和ubuntu 16.04环境下安装教程
protobuf简单介绍
protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法。
protobuf的优点
大家都在用,起码‘装逼'的都在用【咱要跟上时代】
别人说性能好,二进制格式【大项目不用这个,感觉丢人】
跨平台支持各种语言,前后兼容好强大【毕竟人家谷歌在用了】
protobuf的缺点
二进制格式,一般人看不了
缺乏自我描述
xml是自我描述的,但是protobuf格式不是的,给你一段二进制文件,你看不出来作用
protobuf使用步骤
定义自己的数据结构格式(.pro)源文件
利用protobuf提供的编译器编译源文件
利用protobuf go的api读写信息
比如定义一个结构化数据person,包含name和email属性
xml中这样定义
zhangsan
zhangsan@qq.com
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】
安装命令行如下:
$ 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环境下安装教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
linux加protobuf变量环境,protobuf简单介绍和ubuntu 16.04环境下安装教程相关推荐
- linux上pyenv卸载,在Ubuntu 18.04系统下安装pyenv的方法
本文介绍在Ubuntu 18.04操作系统下安装pyenv的方法,使用它可以进行Python多版本管理,目的是防止不同的Python版本因为不兼容而出现错误.安装pyenv其实非常的简单,只需要在系统 ...
- 判断Linux环境是否装了NCCL,Ubuntu 16.04安装NCCL 2
NCCL是Nvidia Collective multi-GPU Communication Library的简称,它是一个实现多GPU的collective communication通信(all- ...
- linux的lnmp环境,Ubuntu 16.04 LTS下LNMP环境配置简述
Ubuntu 16.04 LTS下LNMP环境配置简述 1.安装mysql sudo aptinstall mysql-server 安装过程会提示密码 2.安装nginx和php #添加nginx和 ...
- ubuntu 16.04 环境下 vscode的 c++配置文件
ubuntu 16.04 环境下 vscode的 c++配置 1.首先安装需要的插件 CodeRunner C/C++ 2.在工程根目录下创建.vscode文件夹,里面新建三个json配置文件 各配置 ...
- 在linux搭建wiki教程,在Ubuntu 16.04系统上安装WikkaWiki
一.WikkaWiki介绍 WikkaWiki是一个灵活的.兼容标准的.轻量级的.平台独立的开源Wiki引擎,它使用PHP语言开发,后端存储采用了MySQL数据库.WikkaWiki的设计目标是速度快 ...
- 阿里云ECS服务器环境搭建(2) —— ubuntu 16.04 安装中文输入法(搜狗输入法)
阿里云ECS服务器环境搭建(2) -- ubuntu 16.04 安装中文输入法(搜狗输入法) 1. 环境 阿里云 ECS服务器 (4核 8G 4M) Ubuntu16.04-64-bit 图形界面 ...
- Linux Ubuntu 16.04 Python matplotlib安装中文字体,黑体,楷体,Times New Roman等,解决中文乱码
Linux Ubuntu 16.04 Python matplotlib安装中文字体,Times New Roman等 文章目录 Linux Ubuntu 16.04 Python matplotli ...
- 一、PX4环境搭建和编译(Ubuntu 16.04、ROS kinetic)
Ubuntu16.04 ROS:kinetic 源于:官网PX4开发指南(v1.10.0)<master> https://dev.px4.io/v1.10/zh/ 稍微参考一下这个网站: ...
- 在Ubuntu 16.04环境下安装Docker-CE(附视频教程)
" 任何的课程都逃不开理论的支持" 久等了各位,上一篇说Docker开始的消息已经过去了一周多的时间,今天推送的消息是告诉大家视频可以学习了! 52ABP .NET CORE QQ ...
最新文章
- kali如何制作php字典_Kali Linux安装搜狗输入法
- 一个显示页码用的helper。。。
- Android 自定义字体,设置字体
- 学校计算机 电教材料账册,电教室管理制度
- Java读取文件中的arraylist_java – 从文件中读取ArrayList作为对象?
- linux系统装好后优化,CentOS 5.6 Linux安装系统后的基本优化
- Adhesive框架系列文章--报警服务使用实践
- 元器件选型实例(如何选一款合适的 DC-DC )
- 微信开发之小程序UI设计规范
- 档案管理学 | 档案实体管理概论
- php nginx 伪静态规则,常见PHP程序的Nginx 伪静态规则
- nodejs 视频教程《一起学nodejs》
- layim之整合右键菜单
- linux下hg命令
- DRM系列(10)之drm_read
- 软考成绩没有等来,等来了“广州引进人才入户管理新规”
- 首次「机器学习」挑战赛下周开始,内含知识点剧透
- MySql 练习- 留存率计算
- 那些跳槽做程序员的人,后悔了吗?
- 【技术类】【ArcGIS对国产卫星的支持2:高分一号卫星】篇9、动态影像服务发布
热门文章
- Python:监控键盘输入、鼠标操作,并将捕获到的信息记录到文件中
- 阿里ai布局开始_如何开始使用AI
- Django Python Web应用程序框架简介
- 用开源代码如何建立网站_在开源上建立自举业务
- (21)npm scripts 实现自动化构建的最简方式
- java编程方向_java网络编程方向具体该怎么去学
- d3 和echart_D3.js与echart.js的应用场景
- php限制只能中文,php如何实现一个账号只能有一个人登录
- java数组比较的头文件_Java和C++的数组比较
- 人工智能写小说python_1月下旬值得一读的10本技术新书(人工智能、C++、Python数据科学等)!文末有福利!...