【问题标题】:How does Boost Serialization Versioning work?Boost 序列化版本控制如何工作?
【发布时间】:2017-06-22 17:46:08
【问题描述】:

有人可以向我解释一下 Boost Serialization 中的版本控制是如何工作的。存档版本始终为 10,类版本为 0。我认为当存档与上一个版本不同时,版本会自动递增。如果我更改了某些内容,我是否必须自己定义版本号?

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE boost_serialization>
<boost_serialization signature="serialization::archive" version="10">
    <EventSet class_id="0" tracking_level="0" version="0">
        <Size>1</Size>
        <Event>
        ...
        </Event>
    </EventSet>
</boost_serialization>

【问题讨论】:

  • 我不确定我是否理解您认为这将如何运作。但是,the documentation 中的教程似乎很清楚。
  • @DanMašek 再次感谢。我想,我误解了它,但现在我更清楚了。

标签: serialization boost version versioning boost-serialization


【解决方案1】:

Boost 文档中没有描述,但 boost_serialization signature="serialization::archive" version="10" 行对应于 Boost.Archive 库的版本,它有时会在新版本的 Boost 可用时发生变化。

正如文档所解释的,EventSet class_id="0" tracking_level="0" version="0" 行对应于类版本。您可以使用宏“BOOST_CLASS_VERSION(EventSet, 1)”在代码中更改它。

【讨论】:

    猜你喜欢
    • 2011-06-07
    • 2012-04-16
    • 2011-03-12
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多