浅析protobuf应用
Posted dk2557
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅析protobuf应用相关的知识,希望对你有一定的参考价值。
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
2、配置环境变量
将解压出来的protoc.exe
放在一全英文路径下,并把其路径名放在windows环境变量下的path
下。
3 .验证
protoc --version
4. 编译proto文件,生成java文件(与上面的执行命令都可以)
proto.exe --java_out=./ ./proto/person.proto
前面为java文件路径,后面为proto文件路径
以上是关于浅析protobuf应用的主要内容,如果未能解决你的问题,请参考以下文章