一.什么是protobuf?
protobuf是结构化数据序列化和反序列化的框架,特点如下:
- 和语言无关,支持C++,Java,Python等多种语言
- 扩展性好,可以更新结构化数据而不影响原有的代码
二.protobuf使用流程
- 编写.proto文件,使用protobuf的语法定义message(即C++中的类),描述对象中有哪些成员,成员的类型是什么
- 使用protobuf提供的工具翻译.proto文件,形成对应语言的源文件和头文件,其中包含了所需的结构化对象的类,以及对结构化对象的访问,操作,序列化和反序列化方法
- 在我们自己的代码中引入头文件即可使用
三.示例
1.编写.proto文件
在 .proto 文件中,要使用 syntax = "proto3"; 来指定文件语法为 proto3,并且必须写在除去注释内容的第一行。 如果没有指定,编译器会使用proto2语法。
package 是⼀个可选的声明符,能表示 .proto文件的命名空间,将来翻译生成的class也是在该命名空间中在项目中,它的作用是为 了避免我们定义的消息出现冲突。
proto文件中定义⼀个消息类型的格式为:
message 消息类型名</