码迷,mamicode.com
首页 > 其他好文 > 详细

浅析protobuf应用

时间:2018-11-14 19:17:01      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:序列   github   code   blog   编译   span   结构   图片   nbsp   

Protocal Buffers(简称protobuf)是谷歌的一项技术,用于结构化的数据序列化、反序列化,常用于RPC 系统(Remote Procedure Call Protocol System)和持续数据存储系统。

其类似于XML生成和解析,但protobuf的效率高于XML,不过protobuf生成的是字节码,可读性比XML差,类似的还有json、Java的Serializable等。

很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

linux环境安装

1. 下载

https://github.com/google/protobuf/releases下载protobuf-all-3.5.1.tar.gz

2. 解压 tar xvf protobuf-all-3.5.1.tar.gz

3. 编译并安装

cd protobuf.3.5.1
./configure
make
make check
make install

4. 验证

protoc --version

技术分享图片

错误及解决方法 :

protoc: error while loading shared libraries: libprotoc.so.8: cannot open shared 

错误原因: 

protobuf的默认安装路径是/usr/local/lib,而/usr/local/lib 不在Ubuntu体系默认的 LD_LIBRARY_PATH 里,所以就找不到该lib 

解决方法: 

1). 创建文件 /etc/ld.so.conf.d/libprotobuf.conf,在该文件中输入如下内容: /usr/local/lib   

2). 执行命令 sudo ldconfig 

安装完成!

 

5. 编译proto文件,生成java文件(自定义文件,有自己的格式,下文会介绍)

protoc -I=SRC_DIR --java_out=DST_DIR/SRC_DIR/addressbook.proto

使用上面的命令格式生成编译很好的Java class文件

SRC_DIR表示生成的java文件存储位置,DST_DIR/SRC_DIR/addressbook.proto,表示编译.proto文件路径

Window环境安装

1.下载protobuf

选择protoc-xxx-win32.zip下载

2、配置环境变量

将解压出来的protoc.exe放在一全英文路径下,并把其路径名放在windows环境变量下的path下。

右键计算机=》属性=》高级系统设置=》环境变量=》Path  添加,值为protoc.exe的路径

3 .验证

protoc --version

4. 编译proto文件,生成java文件(与上面的执行命令都可以)

proto.exe --java_out=./ ./proto/person.proto

前面为java文件路径,后面为proto文件路径

 
下载jar包:protobuf-java-2.5.0.jar.zip

实例应用 

 

 

浅析protobuf应用

标签:序列   github   code   blog   编译   span   结构   图片   nbsp   

原文地址:https://www.cnblogs.com/dk2557/p/9959196.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!