ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
リンカーとライブラリ Oracle Solaris 11 Information Library (日本語) |
既存の (バージョンアップされていない) 共有オブジェクトのバージョンアップ
パート IV ELF アプリケーションバイナリインタフェース
共有オブジェクトのインタフェースを確立するには、まず、共有オブジェクトによって提供される大域シンボルが、3 つのインタフェースバージョン定義分類のどれに属するかを判別します。
業界標準インタフェースシンボルの規約は、公開されたヘッダーファイルとベンダーによって提供される関連のマニュアルページに定義されています。また、対応する標準の文献にも記述されています。
ベンダーの公開インタフェースシンボルの規約は、公開されたヘッダーファイルとベンダーによって提供される関連のマニュアルページに定義されています。
ベンダーの非公開インタフェースシンボルの定義は、ほとんど、またはまったく公開されていません。
これらのインタフェースを定義することによって、ベンダーは、共有オブジェクトの各インタフェースの保証の程度を示します。業界標準およびベンダーが公開している各インタフェースは、リリースが替わっても安定して使用できます。リリースが替わってもアプリケーションが引き続き正しく機能することを知っていれば、これらのインタフェースを自由に安全に結合することができます。
業界標準インタフェースは、ほかのベンダーによって提供されたシステムでも使用できる可能性があります。これらのインタフェースを使用するようにアプリケーションを制限することによって、バイナリ互換性を高めることができます。
ベンダー公開インタフェースは、ほかのベンダーによって提供されたシステムでは使用できない場合がありますが、これらのインタフェースは提供されたシステムがバージョンアップしても、安定して使用できます。
ベンダーの非公開インタフェースは、非常に不安定であり、リリースが替わると変更されたり、削除されたりすることもあります。これらのインタフェースが提供する機能は保証されていないか、または実験的なものです。あるいは、ベンダー特定のアプリケーションに対するアクセスだけを提供することを目的としています。いかなる程度のバイナリ互換性を実現したい場合でも、これらのインタフェースの使用を避けるようにしてください。
上記のどれにも分類されない大域シンボルは、ローカルな適用範囲に限定して、結合では参照できないようにする必要があります。「シンボル範囲の縮小」を参照してください。