実行時にdlopenを使用してダイナミックライブラリをロードするために必要なC++アプリケーションを開発しています。このライブラリは通常、私が作成するものではありません。
このライブラリと私のアプリケーションの間の将来のバイナリ互換性を確保するために、人々はどのような方法をお勧めしますか?
私が見ているオプションは次のとおりです。
ライブラリファイル名にバージョン番号を入力し、何があっても(シンボリックリンクを介して)ロードを試みます。dlopenが失敗した場合は、エラーを報告してください。
バージョン番号を返す2番目のインターフェースを維持します。ただし、このインターフェイスが何らかの理由で変更された場合、以前と同じ問題が発生します。
他に選択肢はありますか?