25
我一直在研究C++序列化框架,佔用空間小,性能好。我發現這個線程協議緩衝區精簡版與常規協議緩衝區
基本上建議使用協議緩衝區的精簡版的版本。目前還不清楚this page lite版本的具體功能是什麼
我的問題是;當堅持協議緩衝區精簡版時,你失去了什麼功能?
我一直在研究C++序列化框架,佔用空間小,性能好。我發現這個線程協議緩衝區精簡版與常規協議緩衝區
基本上建議使用協議緩衝區的精簡版的版本。目前還不清楚this page lite版本的具體功能是什麼
我的問題是;當堅持協議緩衝區精簡版時,你失去了什麼功能?
的「精簡版」的版本是無法序列化或iostream
,或者「FileDescriptor
」,它不能使用Reflection
功能,並...其他功能散射。
我的建議是隻使用lite版本,直到遇到需要完整版本的功能爲止。從一個切換到另一個非常容易。
如果您需要查看lite版本所缺少的列表,我建議您瀏覽<google/protobuf/message.h>
。基本上,包含文件的所有內容都是完整版本所獨有的。 (<google/protobuf/message_lite.h>
是完整版本#include
d) 這裏有一個鏈接: https://github.com/google/protobuf/blob/master/src/google/protobuf/message.h
不要忘了加上'選項optimize_for = LITE_RUNTIME;'你的.proto文件,如果您使用精簡版的版本。 – rustyx
由於[Protocol Buffers v3.0.0](https://github.com/google/protobuf/releases/tag/v3.0.0),不再支持'optimized_for = LITE_RUNTIME'。 – david