protocol buffer 小知識備忘錄

proto buffer 備忘錄

使用protoc命令對我們定義的message.proto文件進行編譯

// $SRC_DIR 表示.proto文件所在目錄;
// cpp_out 表示當前用於C++語言;
// $DST_DIR 表示編譯生成文件的路徑;

protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/message.proto

ProtoBuf數據類型

proto文件消息類型 C++ 類型 說明
double double
float float
int32 int32 使用可變長編碼方式,負數時不夠高效,應該使用sint32
int64 int64 同上
uint32 uint32 使用可變長編碼方式
uint64 uint64 同上
sint32 int32 使用可變長編碼方式,有符號的整型值,負數編碼時比通常的int32高效
sint64 sint64 同上
fixed32 uint32 總是4個字節,如果數值總是比2^28大的話,這個類型會比uint32高效
fixed64 uint64 總是8個字節,如果數值總是比2^56大的話,這個類型會比uint64高效
sfixed32 int32 總是4個字節
sfixed64 int64 總是8個字節
bool bool
string string 一個字符串必須是utf-8編碼或者7-bit的ascii編碼的文本
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章