Google的protobuf 和最新的flatbuffer 都是做序列化方面的优质框架.跨平台,容易使用,和强大的数据格式,高效的数据组织支持是我们选择它的重要原因.本文介绍C++中如何使用.
每个Protobuf的版本针对生成的源代码文件,和API都是不一致的.所以在操作前请确认对应的版本.目前本文对应使用的是3.6.1版本和3.0 版本.
可以通过使用 protoc.exe --version 指令来看到版本信息.
目前3.0支持vs2013,15,17
3.6.1版本仅支持vs2015,17
本文同目录下
protoc3.0.exe 是3.0版本用于生成数据结构的程序
protoc3.6.1.exe 是3.6.1版本用于生成数据结构的程序
TestProto3.0.proto 是3.0版本定义Proto数据文件的示例文件
TestProto3.6.1.proto 是3.6.1版本定义Proto数据文件的示例文件
howtouse目录下的touseprotobuf 目录中为测试项目
howtouse目录下的references目录下为依赖的头文件和LIB 文件(分3.0,3.6.1)
protobuf-master361 目录为protobuf 3.6.1版本源代码.可以通过CMAKE自行编译你自己需要的版本。
protobuf-3.0.0 目录为3.0版本仅C++的源代码
更多版本内容和独立语言的源代码可以在这里下载
https://github.com/protocolbuffers/protobuf/releases