我正在尝试使用 FlatBuffers 作为在主/从服务器之间进行通信的方式。我面临的问题是,在我将char*
中的数据读取到flatbuffer之后,我找不到找到将其写回到char*
的方法。第一种配置:
flatc --cpp --gen-mutable --gen-object-api -o ${OUT} ${IN}
这是令我困扰的代码:
char* buffer = <MY_FLATBUFFER_DATA>;
auto managedObject = GetMutableManagedObject(buffer);
makeChanges(managedObject);
char* newBuffer = managedObject.deserialize(); // This is my imaginative method
我希望能够反序列化已修改的对象并将其发送回从属设备。可能吗?还是我必须使用“更慢的”(如本教程所述)
Pack
/ UnPack
方法?(我不介意另一种方法的答案)
最佳答案
是的,您需要打包/拆包。 --gen-mutable仅允许进行非常有限的修改(某些标量),如果您希望能够修改需要对象api的所有内容。
关于c++ - 在cpp中的Flatbuffers中序列化对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60139407/