proto buffer 備忘錄
使用protoc命令對我們定義的message.proto文件進行編譯
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編碼的文本 |