pb常用用法

protobuf

生成

// redis_message.proto
package RedisMessage;

message Hello {
    optional int64 id = 1;
    optional int64 age = 2;
    optional int64 name = 3;
}
protoc --cpp_out=./ redis_message.proto

使用

获得值

直接获得const的值

使用mutable获得可修改的指针

修改值

set_xx()修改

注意如果修改的是个结构体,必须要在堆上申请空间,再set_xxx(ptr) ,否则会有段错误,详见本目录下 "pb开发中遇到的问题"

序列化

已知pb结构可以直接使用相应函数,未知pb结构的话,详见"pb反序列化"

反射

解析未知信息

可以用一个空结构体来解析

最后更新于

这有帮助吗?