在 cpp 中的平面缓冲区中序列化对象
Serializing object in flatbuffers in cpp
我正在尝试使用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 的所有内容。
相关文章:
- 提升反序列化对象具有 nan 或 -nan 值
- 在 cpp 中的平面缓冲区中序列化对象
- 将 boost 序列化对象的 asio::streambuf 表示转换为 Beast 的 DynamicBody req.body()
- 从一个文件中读取多个序列化对象
- 具有GSOAP的序列化对象,以验证Web服务输出
- 促进序列化对象为json
- 使用 FlatBuffers 序列化对象的向量
- 是否可以简单地序列化C++对象
- C 用向量序列化对象会导致双重自由损坏
- 用C++序列化对象的首选方式
- 序列化C++对象
- 如何在不存在任何数据损坏风险的情况下序列化对象
- 如何使用boost::序列化将对象的矢量作为属性序列化对象
- C++:如何在不使用库的情况下序列化/反序列化对象
- 写入函数是否在 C++ 中使用 ASCII 序列化对象
- 如何从 QDataStream 中读取多个相同类型的序列化对象
- 在C++中反序列化对象
- 在Qt中序列化对象图有哪些方法
- 使用 mixins 序列化/反序列化对象
- 序列化对象时丢失名称