是否有任何明确的兼容性保证boost :: interprocess :: managed_shared_memory可以在不同的boost版本中工作?我打算用它在多个进程之间共享一个整数或十个整数(这实际上将作为他们所有读取和写入的数据的修订号)。这些过程是单独发布的,并且偶尔会终止。
问题是:我是否因为1.51中的managed_shared_memory无法与1.44中的managed_shared_memory进行对话而将自己锁定为永久性的提升版本,等等?
答案 0 :(得分:2)
根据Boost FAQ:
Boost库如何成功用于重要项目?
许多Boost库都得到了积极的维护和改进,因此并不总是能够与先前版本向后兼容。通过冻结项目使用的Boost库的版本来处理此问题。只能在项目生命周期中的某些点进行升级,这样一些变化不会导致问题。可以始终从boost存储库中获取单个错误修复。
因此,您似乎将自己锁定在一组未来版本的Boost Interprocess
中,这些版本将与您将使用的版本兼容,这是一个不可预测的版本数量(兼容性可能会在明天和它之间被打破)可能永远不会被打破。)
如果你有能力投入一些时间来改进代码,当新版本的boost出现并打破兼容性时,你就可以了。在实践中,我认为每隔几年发生一次,而不是每月发生一次,图书馆制造商倾向于在发布更新之前考虑向后兼容性。