我一直在调查c ++序列化框架,占用空间小,性能好。我找到了这个帖子
基本上建议使用Lite版本的协议缓冲区。从this page不清楚Lite版本的具体功能是什么
我的问题是;坚持使用协议缓冲区精简版会丢失什么功能?
答案 0 :(得分:37)
“lite”版本无法序列化为iostream
或“FileDescriptor
”,也无法使用Reflection
功能,而...其他功能。
我的建议是只使用lite版本,直到遇到需要完整版本的功能。很容易从一个切换到另一个。
如果您需要查看精简版缺少的列表,建议您浏览<google/protobuf/message.h>
。基本上,包含文件中的所有内容都是完整版本所独有的。 (<google/protobuf/message_lite.h>
是完整版的#include
d。)
这是一个链接:
https://github.com/google/protobuf/blob/master/src/google/protobuf/message.h