前面章节已经讲述了protobuf的理解,这里直接开门见山,给出一个实,来具体看下是如何使用的。
本案例参考博客:
google protobuf安装与使用
案例的主要功能(google提供的基本案例)
该程序示例的大致功能是,定义一个Persion结构体和存放Persion的AddressBook,然后一个写程序向一个文件写入该结构体信息,另一个程序从文件中读出该信息并打印到输出中。
1.addressbook.proto文件
package tutorial;
message Persion {
required string name = 1;
required int32 age = 2;
}
message AddressBook {
repeated Persion persion = 1;
}
这里需要注意的是:required表示的必须项,也就是定义的这些项必须被填充,如果想不被填充,protobuf也提供了optional的选项。
完成addressbook.proto文件的编写,然后进行编译,注意这里编译需要使用protobuf的编译器,执行命令如下:
protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/addressbook.proto
示例中执行命令
protoc --cpp_out=/tmp addressbook.proto
会在/tmp中生成文件addre