【发布时间】:2010-11-28 03:31:54
【问题描述】:
我正在寻找一种以最方便的方式序列化一堆 C++ 结构的方法,以便序列化可跨 C++ 和 Java(至少)以及跨 32 位/64 位大/小端平台移植。要序列化的结构只包含数据,即它们是没有状态或行为的纯数据对象。
我们的想法是我们将结构序列化为一个八位字节 blob,我们可以“一般地”将其存储在数据库中并在以后读取。因此,避免在结构更改时更改数据库,也避免将每个数据成员分配给一个字段 - 即我们只希望一个表将所有内容“一般”作为二进制 blob 保存。这应该会减少开发人员的工作量,并且在结构发生变化时需要的更改也更少。
我查看了 boost.serialize,但认为没有办法实现与 Java 的兼容性。在 Java 中继承 Serializable 也是如此。
如果有办法从 IDL 文件开始最好,因为我们已经有了描述结构的 IDL 文件。
提前干杯!
【问题讨论】:
-
看msgpack.org是跨平台多语言的。
标签: language-agnostic serialization cross-platform