作業系統 : centos7.3.1611_x64
gcc版本 :4.8.5
go 版本 : go1.8.3 linux/amd64
python 版本 : 2.7.5
libprotoc : 2.5.0
protobuf是google開發一種資料描述語言,能夠將結構化資料序列化,可用於資料儲存、通訊協議等方面。
首頁:
文件: docs/overview
安裝protobuf:
yuminstall protobuf protobuf-compiler protobuf-c-devel protobuf-devel
寫proto檔案(addr.book.proto):
package addr;message book
寫檔案操作(writer.cpp):
讀檔案操作(reader.cpp):
makefile檔案:
cc = g++cflags = -g -o2 -wallsrc_dir=.
dst_dir=libs
all:
make
genproto
make
writer
make
reader
genproto:
mkdir -p $(dst_dir)
protoc -i=$(src_dir) --cpp_out=$(dst_dir) addr.book.proto
writer:
$(cc) -o writer writer.cpp $(dst_dir)/addr.book.pb.cc -i$(dst_dir) -lprotobuf
reader:
$(cc) -o reader reader.cpp $(dst_dir)/addr.book.pb.cc -i$(dst_dir) -lprotobuf
clean:
rm -rf $(dst_dir)
rm -f writer reader log
rm -f *.o
執行效果:
[root@localhost proto1]# ./writer[root@localhost proto1]# ./reader
101book1
[root@localhost proto1]#
安裝goprotobuf:
yuminstall golang-googlecode-goprotobuf.x86_64
將proto檔案轉換為go**(genpbcode.sh):
#! /bin/shmkdir -p src/addr
protoc -i=. --go_out=src/addr addr.book.proto
修改protobuf路徑:
"修改為:
新增path(臨時使用時可以這麼操作):
export gopath=$gopath:$pwd
寫檔案操作(write.go):
讀檔案操作(reader.go):
執行效果:
[root@localhost proto3]# go run write.go[root@localhost proto3]# go run read.go
id:11 str:"
testmsg11
"[root@localhost proto3]#
需要安裝protobuf包:
pip install protobuf
將proto檔案轉換為python**(genpbcode.sh):
#! /bin/shprotoc -i=. --python_out=. addr.book.proto
touch addr/__init__.py
寫檔案操作(write.py):
讀檔案操作(reader.py):
執行效果:
(py27env) [root@localhost proto2]# ./genpbcode.sh(py27env) [root@localhost proto2]# python
write
.py(py27env) [root@localhost proto2]# python reader.py
id: 1
str:
"testmsg1
"(py27env) [root@localhost proto2]#
好,就這些了,希望對你有幫助。
的簡單使用.rst
歡迎補充
protobuf簡單使用
一 介紹 首先,protobuf是乙個開源專案,而且是後台很硬的開源專案。網上現有的大部分 至少80 開源專案,要麼是某人單幹 要麼是幾個閒雜人等合夥搞。而protobuf則不然,它是 鼎鼎大名的google公司開發出來,並且在google內部久經考驗的乙個東東。由此可見,它的作者絕非一般閒雜人等可...
protobuf安裝及其簡單使用
protocol buffers 是一種語言中立,平台無關,可擴充套件的序列化資料的格式,可用於通訊協議,資料儲存等。protocol buffers 在序列化資料方面,它是靈活的,高效的。相比於 xml 來說,protocol buffers更加小巧,更加快速,更加簡單。一旦定義了要處理的資料的資...
protobuf的使用 三
rpc方法的序列化和反序列化 rpc標籤 在protobuf中定義描述rpc方法的型別 service 在proto檔案中增加rpc服務的選項 表示生成service服務類和rpc方法描述,預設是不生成的 option cc generic services true message loginre...