JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
リンカーとライブラリ     Oracle Solaris 10 8/11 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris リンカーの紹介

2.  リンカー

3.  実行時リンカー

4.  共有オブジェクト

5.  アプリケーションバイナリインタフェースとバージョン管理

インタフェースの互換性

内部バージョン管理

バージョン定義の作成

ウィークバージョン定義の作成

関連のないインタフェースの定義

バージョン定義への結合

追加オブジェクトのバージョンの検査

バージョン結合の指定

追加バージョン定義への結合

インタフェースの再定義

ウィークバージョンの結合

バージョンの安定性

再配置可能オブジェクト

外部バージョン管理

バージョン管理ファイル名の管理

同じプロセス内の複数の外部バージョン管理ファイル

6.  サポートインタフェース

7.  オブジェクトファイル形式

8.  スレッド固有領域 (TLS)

9.  mapfile

A.  リンカーのクイックリファレンス

B.  バージョン管理の手引き

C.  動的ストリングトークンによる依存関係の確立

D.  直接結合

E.  System V Release 4 (バージョン 1) Mapfile

F.  リンカーとライブラリのアップデートおよび新機能

索引

インタフェースの互換性

オブジェクトにはさまざまな変更を加えることができます。これらの変更は、単純に次の 2 つのグループに分類することができます。

次のリストは、共通のオブジェクト変更のいくつかを分類しています。

表 5-1 インタフェースの互換性の例

オブジェクトの変更
更新タイプ
シンボルの追加
互換性あり
シンボルの削除
互換性なし
「非」 varargs(3EXT) 関数への引数の追加
互換性なし
関数からの引数の削除
互換性なし
関数への、または外部定義としてのデータ項目のサイズまたは内容の変更
互換性なし
バグ修正または関数の内部拡張 (オブジェクトの意味プロパティーを変更しない場合)
互換性あり
バグ修正または関数の内部拡張 (オブジェクトの意味プロパティーを変更する場合)
互換性なし

注 - シンボルを追加すると、割り込みが原因で、互換性のない変更が生じる可能性があります。新しいシンボルが、アプリケーションによるそのシンボルの使用法と矛盾する場合があります。ただし多くの場合、ソースレベルの名前空間の管理が使用されるため、実際にはこのような互換性のない変更はめったにありません。


互換性のある変更は、生成されるオブジェクトの内部でバージョン定義を管理することにより調整できます。互換性のない変更は、新しい外部バージョン管理名によって新しいオブジェクトを作成することにより調整できます。これらのバージョン管理手法を使用すると、アプリケーションの選択的割り当てを行うことができます。バージョン管理手法を使用すれば、実行時の正しいバージョン割り当てを検査することもできます。これらの 2 つの手法については、次の節でさらに詳しく説明します。