protobuf學習筆記

參考文檔:
1、https://developers.google.com/protocol-buffers/docs/cpptutorial?hl=zh-CN
2、https://developers.google.com/protocol-buffers/docs/proto?hl=zh-CN
3、https://developers.google.com/protocol-buffers/docs/reference/cpp/index?hl=zh-CN
4、https://developers.google.com/protocol-buffers/docs/reference/cpp-generated?hl=zh-CN
5、https://developers.google.com/protocol-buffers/docs/encoding?hl=zh-CN

1、用.proto文件描述消息的結構,就是描述這個消息裏有哪些個字段

2、協議緩衝區編譯器將根據.proto文件生成相應的C++類(這個類實現了二進制數據的編碼和解析)

3、.proto文件編寫:
首先是包的聲明,這個在C++中將會轉換爲命名空間(namespaces)
接着是消息字段的聲明,字段類型可以是double、float、int32、int64、uint32、uint64、sint32、sint64、fixed32、fixed64、sfixed32
、sfixed64、bool、string、bytes,還有自定義消息類型
消息體內可嵌套定義消息

4、消息字段有三種修飾符required(必須的),optional(可選的,使用填入值或默認值),repeated(可重複的,包括0次,可看成動態數組)

5.生成C++代碼 運行命令 protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/addressbook.proto,當然要替換相應的變量

編譯後將生成對應文件的.pb.h和.pb.cc文件

6、.proto文件內容要嚴格區分大小寫

7、用"//"進行行註釋

8、每個消息字段使用一個唯一tag來標記,可理解爲放置的位置

9、可使用import語句導入其它的.proto文件


10、可給文件指定一個包名 package ...;



php擴展

https://github.com/chobie/php-protocolbuffers


http://dofound.blog.163.com/blog/static/17114324620136224934685/

發佈了39 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章