Protocol Buffers
是一种序列化数据结构的方法。对于通过导线或存储数据进行通信的程序开发上是很有用的。这个方法包含一个接口描述语言,描述一些数据结构,并且提供程序工具根据这些描述产生代码,用于将这些数据结构产生或解析数据流。
语言支持[编辑]
proto2提供一个代码产生器,支持C++、Java和Python。
第三方实现支持JavaScript。
proto3提供一个代码产生器,支持C++、Java (包含JavaNano)、Python、Go、Ruby、Objective-C和C#.[3]从 3.0.0 Beta 2 版开始支持JavaScript。
第三方实现支持Perl、PHP、Scala和Julia.
Protocal buffer 安装
ubuntu 下的安装
下载 https://github.com/google/protobuf/releases/tag/v3.2.0 你需要的压缩包。
分别执行:
#tar zxvf protobuf-xx.tar.gz
make
make check
sudo make install
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
source ~/.profile
检查是否安装成功:
protoc --version
若果提示结果为:
libprotoc 3.2.0
说明安装成功了。
windows 下protoc的安装
如果proto2不是用在C++上,那么下载protoc-3.2.0-win32.zip就好了,解压后会有两个文件夹:
bin
include
文件夹bin里面有个protoc.exe的可执行文件。用这个可执行文件就可以满足除C++以外的需求。比如想在java上用protoc则:
1、用记事本写一个符合protoc规则的.proto文件(修改扩张名即可)。如果在D:\code\protocal2有个xx.proto的文件,那么运行下面的指令:
C:\Users\andy.lv>D:\code\protocal2\bin\protoc.exe
-I=D:\code\protocal2
--java_out=D:\code\protocal2\java D:\code\protocal2\xx.proto
-I 指定的是源文件夹 。 –java_out指的是编译成.java文件,赋值是指编译好的java存放的文件夹。最后是指定.proto文件。
执行成功以后就会在D:\code\protocal2\java下面找到按照proto语法格式编译生成的.java文件。