介绍

Protobuf 是 Google 公司内部的混合语言数据标准。他们用于 RPC 系统和持续数据存储系统。有高效的协议数据交换格式工具库(类似Json)。
但相比于Json,Protobuf有更高的转化效率,时间效率和空间效率都是JSON的3-5倍。
可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。目前提供了 C++、Java、Python 、OC、Swift等语言的 API。
相对于json的阅读性好来说,protoc更注重与数据交换的性能。

安装

github下载相应的包比较慢,这不也已经下好了。

win

链接: https://pan.baidu.com/s/1cBIW6bkCAUCLqXRlbo4nCQ 提取码: bvcj

linux

链接: https://pan.baidu.com/s/1Du6OFFp_A6g6mgeHUMWqKg 提取码: atvy

win上直接解压后安装,然后添加环境变量就好。linux需要编译具体流程如下

./autogen.sh
./configure --prefix=/usr/local/protobuf
make && make install

在这里插入图片描述

修改环境变量

vim /etc/profile
# 添加:
export PATH=$PATH:/usr/local/protobuf/bin/
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/
# 保存并执行
source /etc/profile
# 动态库
im /etc/ld.so.conf
#新起一行 添加
/usr/local/protobuf/lib
#保存退出后执行
#检查是否安装成功
protoc --version

在这里插入图片描述
使用方式如下

 protoc -I=./ --go_out=./ ./test.proto
 # -I 是proto文件存放的路径
 # --go_out  是序列化golang的代码路径
 # 后面的test.proto 是需要序列化的proto文件

这次安装的3.13.0的版本。后面会出golang实际使用例子

二、方法二
1、网上下载protobuf-2.5.0.tar.gz

2、解压缩 tar zxvf protobuf-2.5.0.tar.gz

3、cd protobuf-2.5.0

4、./configure --prefix=/usr/local/protobuf

5、make

6、make check

7、make install

8、ln -sf /usr/local/protobuf/bin/protoc /usr/bin/protoc

9、执行protoc --version,若出现libprotoc 2.5.0,表示安装成功

方法三、之间下载二进制文件
1.在 https://github.com/protocolbuffers/protobuf/releases/tag/v3.7.1 下载对应版本 protoc-3.7.1-linux-x86_64.zip 二进制文件。

2.解压到 指定路径 如 、/root/protoc

3.protoc 目录下的bin 目录是protoc的可执行文件 ,需要之间软连接到 /usr/bin 目录下

ln -sf /usr/local/protobuf/bin/protoc /usr/bin/protoc

然后就可以直接执行 了。

Logo

更多推荐