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文件。