我怎么知道,我可以放心地在生产系统升级Boost Serialization Library不中断与现有数据的兼容性?是否有任何测试应该执行,以确保新版本库的二进制格式存储的所有数据都能被新版本成功读取? Boost Serialization库本身是否保证版本之间的某种兼容性?升压串行化库升级
Q
升压串行化库升级
9
A
回答
1
初始版本是在升压1.32。 看样子你可以查看发布以来的历史那么在这里: 比我建议你问boost邮件列表上http://www.boost.org/doc/libs/1_43_0/libs/serialization/doc/release.html
9
Boost.serialization是向后兼容的,但is not guaranteed to be forwards compatible。
这意味着:
- 你可以boost.serialization的旧版本,可以用较新的版本可以读取创建存档。
- 无法保证使用较新版本的boost.serialization创建的档案可以被旧版本读取。
例如,如果在两个方向上在客户端和服务器之间发送消息,则可能必须以锁步方式升级boost版本。
的“有线格式”不改变每版本提振。因此,在两个特定版本的boost之间,您可能没有任何问题 - 我无法找到在哪个版本的boost中使用哪种版本的存档格式的具体文档。
还要注意保持向后兼容性“保证”,这只是表达一种意图 - 虽然我想你可以拿回自己的钱;-)。 Boost版本1.42和1.43有一个错误,这意味着后来的版本无法读取它们 - see the 1.45 release notes。
1
您可以使用当前版本的软件创建测试文件,并将其储存。然后将这些文件加载到自动测试中。
不幸的是,即使你的代码将通过这个测试,你不能100%肯定的兼容性,因为还有可能是某种无法加载序列化的内容。那么,它总比没有好。
此测试将自动仅覆盖向后兼容性。测试向前(向上)兼容性会更加复杂。一个需要为每一个新版本创建的测试数据,并尝试通过每一个旧版本加载它...升压
向前延伸兼容性::序列化是answered here
相关问题
- 1. 序列化stdext ::使用的hash_map升压串行化库
- 2. 升压MPL串
- 3. interval_map升压库
- 4. 无库升压
- 5. 问题与升级升压在Ubuntu 12.04
- 6. 升压系列化
- 7. 等级有序升压图
- 8. 错误使用升压::功能与升压::升压::绑定:: asio
- 9. Ubuntu:C++ :: Boost库升级
- 10. 何时升级库
- 11. 序列化升压阵列
- 12. 升压序列化基类
- 13. 升压序列化问题
- 14. 升压
- 15. 升压
- 16. 升级还是不升级
- 17. 升级升级版本
- 18. 升压:: ASIO高性能串行读(RS232)
- 19. 发现使用升压串
- 20. 使用升压导入相关的Python库从升压蟒蛇
- 21. 升压预处理器库
- 22. 带升压库的路径
- 23. C++使用升压库
- 24. 未能安装升压库
- 25. 使用ant升级项目数据库升级数据库
- 26. 升级的Hibernate 3.1至3.6的performande升压
- 27. 升压MPL在运行时
- 28. 升压运行时错误
- 29. 在Eclipse中升级AspectJ运行时库
- 30. 升级