【发布时间】:2020-08-23 09:01:03
【问题描述】:
我有一个只包含std::map<std::string, int> 的自定义类。
我正在尝试使用 boost::serialization 对其进行序列化。
我用数据 {"foor":13} 创建了一个对象(这是我的自定义对象中的地图)。 Boost 将其序列化为
22 serialization::archive 15 22 serialization::archive 15 0 0 0 0 1 0 0 0 4 foor 13
到目前为止,一切都很好 (?)。
现在,我采用相同的源代码(几乎没有修改),我编译为 wasm 而不是 x86。 同一个对象现在被序列化为
22 serialization::archive 18 0 0 0 0 1 0 0 0 4 foor 13
因此,出于某些原因,在一种情况下,Boost 选择使用存档的 15 版,而在另一种情况下,它选择了 18 版。 (显然,x86 生成的反序列化在 wasm 程序中不起作用)
如何“强制”Boost 使用存档的 15 版?
【问题讨论】:
标签: c++ serialization boost version