protobuf c++ 生成 Message 而不是 MessageLite
protobuf c++ generate Message instead of MessageLite
我有一些原型定义要编译成 C++ headers/code。当我这样做时,所有数据类型都是 MessageLite
,据我所知,这对于资源受限设备来说更轻量级。
然而,MessageLite
缺少我需要的一堆功能(例如:MessageToJsonString
和 SerializeToOsStream
)。有没有办法让 protoc
生成 Message
而不是 MessageLite
?
或者,是否有更好的方法来处理 MessageLite
?即,调试并序列化到文件?
在您的 protobuf 定义中查找以下行:
option optimize_for = LITE_RUNTIME;
然后将其注释掉或删除。该行指示 protoc 使用 MessageLite,而不是 Message。
我有一些原型定义要编译成 C++ headers/code。当我这样做时,所有数据类型都是 MessageLite
,据我所知,这对于资源受限设备来说更轻量级。
然而,MessageLite
缺少我需要的一堆功能(例如:MessageToJsonString
和 SerializeToOsStream
)。有没有办法让 protoc
生成 Message
而不是 MessageLite
?
或者,是否有更好的方法来处理 MessageLite
?即,调试并序列化到文件?
在您的 protobuf 定义中查找以下行:
option optimize_for = LITE_RUNTIME;
然后将其注释掉或删除。该行指示 protoc 使用 MessageLite,而不是 Message。