Boost 序列化版本控制是如何工作的?
How does Boost Serialization Versioning work?
谁能给我解释一下 Boost Serialization 中的版本控制是如何工作的。存档版本始终为 10,class 版本为 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>
Boost 文档中没有描述,但行 boost_serialization signature="serialization::archive" version="10"
对应于 Boost.Archive 库的版本,它有时会在新版本的 Boost 可用时发生变化。
如文档所述,EventSet class_id="0" tracking_level="0" version="0"
行对应于 class 版本。您可以在代码中使用宏 'BOOST_CLASS_VERSION(EventSet, 1)' 更改它。
谁能给我解释一下 Boost Serialization 中的版本控制是如何工作的。存档版本始终为 10,class 版本为 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>
Boost 文档中没有描述,但行 boost_serialization signature="serialization::archive" version="10"
对应于 Boost.Archive 库的版本,它有时会在新版本的 Boost 可用时发生变化。
如文档所述,EventSet class_id="0" tracking_level="0" version="0"
行对应于 class 版本。您可以在代码中使用宏 'BOOST_CLASS_VERSION(EventSet, 1)' 更改它。