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.  リンカーとライブラリのアップデートおよび新機能

索引

はじめに

Oracle Solaris オペレーティングシステム (Oracle Solaris OS) では、アプリケーション開発者は、リンカー ld(1) を使用してアプリケーションおよびライブラリを作成し、実行時リンカー ld.so.1(1) の支援でこれらのオブジェクトを実行できます。このマニュアルは、Oracle Solaris リンカー、実行時リンカー、および関連ツールの使用方法に関する概念を、より完全に理解したいエンジニアを対象としています。


注 - この Oracle Solaris のリリースでは、SPARC および x86 系列のプロセッサアーキテクチャーを使用するシステムをサポートしています。サポートされるシステムは、Oracle Solaris OS: Hardware Compatibility Lists に記載されています。本書では、プラットフォームにより実装が異なる場合は、それを特記します。

本書の x86 に関連する用語については、次を参照してください。

サポートされるシステムについては、Oracle Solaris OS: Hardware Compatibility Lists を参照してください。


お読みになる前に

このマニュアルでは、Oracle Solaris リンカーおよび実行時リンカーの操作について説明しています。動的実行可能ファイルと共有オブジェクトの生成および使用方法に関しては、動的実行環境において重要であるため、特に重点を置いて説明しています。

対象読者

このマニュアルは、Oracle Solaris リンカー、実行時リンカー、および関連ツールに興味を持つ、意欲的な初心者から上級ユーザーまでのプログラマを対象としています。

ほとんどのプログラマは、このマニュアルの最初から最後までを通読する必要はありません。

内容の紹介

第 1 章Oracle Solaris リンカーの紹介では、Oracle Solaris OS でのリンク処理の概要を紹介します。この章は、すべてのプログラマを対象としています。

第 2 章リンカーでは、リンカーの機能について説明します。この章は、すべてのプログラマを対象としています。

第 3 章実行時リンカーでは、実行環境と、プログラム制御によるコードおよびデータの実行時の結び付きについて記載しています。この章は、すべてのプログラマを対象としています。

第 4 章共有オブジェクトでは、共有オブジェクトの定義について記載し、そのメカニズムと作成方法および使用方法について説明しています。この章は、すべてのプログラマを対象としています。

第 5 章アプリケーションバイナリインタフェースとバージョン管理では、動的オブジェクトによって提供されたインタフェースの展開の管理方法について記載しています。この章は、すべてのプログラマを対象としています。

第 6 章サポートインタフェースでは、リンカーと実行時リンカーの処理を監視し、場合によっては修正する、インタフェースについて記載しています。この章は、上級プログラマを対象としています。

第 7 章オブジェクトファイル形式は、ELF ファイル用のリファレンスです。この章は、上級プログラマを対象としています。

第 8 章スレッド固有領域 (TLS)では、スレッド固有領域について説明しています。この章は、上級プログラマを対象としています。

第 9 章mapfile では、リンカーに対するバージョン 2 の mapfile 指令について説明します。この章は、上級プログラマを対象としています。

付録 A リンカーのクイックリファレンスでは、もっとも一般に使用されるリンカーオプションの概要を記載しています。この付録は、すべてのプログラマを対象としています。

付録 B バージョン管理の手引きは、共有オブジェクトのバージョン管理のための命名規約と手引きを記載しています。この付録は、すべてのプログラマを対象としています。

付録 C 動的ストリングトークンによる依存関係の確立では、予約動的ストリングトークンを使用して、動的依存関係を定義する方法の例を記載しています。この付録は、すべてのプログラマを対象としています。

付録 D 直接結合では、直接結合に関連する実行時のシンボル検索モデルについて説明します。この付録は、上級プログラマを対象としています。

付録 E System V Release 4 (バージョン 1) Mapfileでは、リンカーに対するバージョン 1 の mapfile 指令について説明します。この章は、上級プログラマを対象としています。

付録 F リンカーとライブラリのアップデートおよび新機能では、新しい機能と、リンカー、実行時リンカー、および関連ツールへの更新内容の概要を、変更が行われたリリースを示しながら説明します。

このドキュメントを通して、すべてのコマンド行の例は、sh(1) の構文を使用しています。すべてのプログラム例は、C 言語で記述されています。

Oracle サポートへのアクセス

Oracle のお客様は、My Oracle Support を通じて電子的なサポートを利用することができます。詳細は、http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info を参照してください。聴覚に障害をお持ちの場合は、http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs を参照してください。

表記上の規則

このマニュアルでは、次のような字体や記号を特別な意味を持つものとして使用します。

表 P-1 表記上の規則

字体または記号
意味
AaBbCc123
コマンド名、ファイル名、ディレクトリ名、画面上のコンピュータ出力、コード例を示します。
.login ファイルを編集します。

ls -a を使用してすべてのファイルを表示します。

system%

AaBbCc123
ユーザーが入力する文字を、画面上のコンピュータ出力と区別して示します。
system% su

password:

AaBbCc123
変数を示します。実際に使用する特定の名前または値で置き換えます。
ファイルを削除するには、rm filename と入力します。
『 』
参照する書名を示します。
『コードマネージャ・ユーザーズガイド』を参照してください。
「 」
参照する章、節、ボタンやメニュー名、強調する単語を示します。
第 5 章「衝突の回避」を参照してください。

この操作ができるのは、「スーパーユーザー」だけです。

\
枠で囲まれたコード例で、テキストがページ行幅を超える場合に、継続を示します。
sun% grep `^#define \

 XV_VERSION_STRING'

Oracle Solaris OS に含まれるシェルで使用する、UNIX のデフォルトのシステムプロンプトとスーパーユーザープロンプトを次に示します。コマンド例に示されるデフォルトのシステムプロンプトは、Oracle Solaris のリリースによって異なります。

[ ] は省略可能な項目を示します。上記の例は、filename は省略してもよいことを示しています。

| は区切り文字 (セパレータ) です。この文字で分割されている引数のうち 1 つだけを指定します。

キーボードのキー名は英文で、頭文字を大文字で示します (例: Shift キーを押します)。ただし、キーボードによっては Enter キーが Return キーの動作をします。

ダッシュ (-) は 2 つのキーを同時に押すことを示します。たとえば、Ctrl-DControl キーを押したまま D キーを押すことを意味します。