ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
リンカーとライブラリ Oracle Solaris 11 Information Library (日本語) |
オブジェクトにはさまざまな変更を加えることができます。これらの変更は、単純に次の 2 つのグループに分類することができます。
互換性のある変更。これらの変更は付加的です。今まで使用できたインタフェースがすべてそのままの状態で残されます。
互換性のない変更。これらの変更は既存インタフェースを変更します。そのインタフェースの既存ユーザーはそれを使用できないか、または動作が異なってきます。
次のリストは、共通のオブジェクト変更のいくつかを分類しています。
表 5-1 インタフェースの互換性の例
|
注 - シンボルを追加すると、割り込みが原因で、互換性のない変更が生じる可能性があります。新しいシンボルが、アプリケーションによるそのシンボルの使用法と矛盾する場合があります。ただし多くの場合、ソースレベルの名前空間の管理が使用されるため、実際にはこのような互換性のない変更はめったにありません。
互換性のある変更は、生成されるオブジェクトの内部でバージョン定義を管理することにより調整できます。互換性のない変更は、新しい外部バージョン管理名によって新しいオブジェクトを作成することにより調整できます。これらのバージョン管理手法を使用すると、アプリケーションの選択的割り当てを行うことができます。バージョン管理手法を使用すれば、実行時の正しいバージョン割り当てを検査することもできます。これらの 2 つの手法については、次の節でさらに詳しく説明します。