9

boost::interprocess::managed_shared_memory が異なるブースト バージョン間で機能するという明示的な互換性保証はありますか? 私はそれを使用して、複数のプロセス間で整数または 10 を共有することを計画しています (これは基本的に、それらがすべて読み取り、一部が書き込むデータのリビジョン番号として機能します)。プロセスは個別にリリースされ、時々サポートが終了します。

問題は、1.51 の managed_shared_memory が 1.44 の managed_shared_memory と通信できないなどの理由で、特定のバージョンのブーストに永遠にロックダウンしているのでしょうか?

4

1 に答える 1

2

Boost FAQによると:

Boost ライブラリを重要なプロジェクトでうまく使用するにはどうすればよいですか?

Boost ライブラリの多くは積極的に維持および改善されているため、以前のバージョンとの下位互換性が常に可能であるとは限りません。プロジェクトで使用されている Boost ライブラリのバージョンをフリーズすることで、これに対処してください。プロジェクトのライフ サイクルの中で、多少の変更が問題にならない時点でのみアップグレードしてください。個々のバグ修正は、ブースト リポジトリからいつでも入手できます。

したがって、使用するバージョンと互換性のある の将来のバージョンのセットに自分自身をロックしているようですBoost Interprocess。これは予測できないバージョンの数です (互換性は明日壊れる可能性があるだけでなく、決して壊れない可能性もあります)。

ブーストの新しいバージョンが登場して互換性が失われたときに、コードを改善するために時間を投資する余裕がある場合は、すべて問題ありません。実際には、月に 1 回よりも数年に 1 回発生する可能性が高いと思います。ライブラリの作成者は、更新を公開する前に下位互換性を考慮する傾向があります。

于 2012-11-03T16:34:46.343 に答える