Solaris
TM では、アプリケーション開発者がリンカー ld(1) を使用してアプリケーションやライブラリを構築し、実行時リンカー ld.so.1(1) を使用してこれらのユーティリティを実行できる環境を提供します。多くのアプリケーション開発者にとっては、リンカーがコンパイルシステムを通じて呼び出され、実行時リンカーがアプリケーションを実行できるというこの機能は、興味深いものでしょう。このマニュアルは、製品に組み込まれた概念を、より完全に理解しようとする人を対象にしています。
このマニュアルでは、Solaris リンカーおよび実行時リンカーの操作について説明しています。共有オブジェクトの生成と使用方法に関しては、動的実行環境において重要であるため、特に重点を置いて説明しています。
このマニュアルは、次のような、Solaris リンカーに興味を持つ、意欲的な初心者から上級ユーザーまでのプログラマを対象としています。
初心者は、リンカーと実行時リンカーの操作の原理を学ぶ
中級プログラマは、有効なカスタムライブラリの構築と使用方法を学ぶ
言語ツール開発者などの上級プログラマは、オブジェクトファイルの変換と生成方法を学ぶ
すべてのプログラマは、このマニュアルの最初から最後までを通読する必要はありません。
第 1 章「序章」では、Solaris におけるリンクプロセスの概要と、このリリースから追加された新しい機能の紹介を記載しています。この章は、すべてのプログラマを対象としています。
第 2 章「リンカー」では、リンカーの機能、その接続の (「静的」および「動的」な) 2 つの方法、入力の有効範囲と書式、出力書式についての概要を記載しています。この章は、すべてのプログラマを対象としています。
第 3 章「実行時リンカー」では、実行環境とプログラム制御によるコードおよびデータの実行時の結び付きについて記載しています。この章は、すべてのプログラマを対象としています。
第 4 章「共有オブジェクト」では、共有オブジェクトの定義について記載し、その機構と構築方法および使用方法について説明しています。この章は、すべてのプログラマを対象としています。
第 5 章「バージョンアップ」では、動的オブジェクトによって提供されたインタフェースの管理および展開方法について記載しています。この章は、すべてのプログラマを対象としています。
第 6 章「サポートインタフェース」では、監視用のインタフェース、場合によっては修正用のインタフェース、リンカーと実行時リンカーの処理について記載しています。この章は、上級プログラマを対象としています。
第 7 章「オブジェクトファイル」は、ELF ファイル用のリファレンスです。この章は、上級プログラマを対象としています。
第 8 章「mapfile のオプション」では、出力ファイルのレイアウトを指定する、リンカーへの対応付けファイル命令について説明しています。この章は、上級プログラマを対象としています。
付録 A 「リンカーのクイックリファレンス」 は、最も一般に使用されるリンカーオプションの概要を記載しています。この付録は、すべてのプログラマを対象としています。
付録 B 「バージョンアップの手引き」 は、バージョンの共有オブジェクトごとの命名の規約と手引きを記載しています。この付録は、すべてのプログラマを対象としています。
付録 C 「$ORIGIN による依存関係の記録」 では、$ORIGIN トークンを使用して、動的依存関係の読み込み方法の例を記載しています。この付録は、すべてのプログラマを対象としています。
このマニュアル全体を通して、コマンド行の例ではすべて sh1 構文を使用し、プログラミングの例はすべて C 言語で書かれています。
「 x86 」という用語は、一般に Intel 8086 ファミリーのマイクロプロセッサチップを指します。これには、Pentium、Pentium Pro の各プロセッサ、および AMD と Cyrix が提供する互換マイクロプロセッサチップが含まれます。このマニュアルでは、このプラットフォームアーキテクチャーを指すときに、「 x86 」 という用語を使用し、製品名では「 Intel Platform Edition 」と表記されています。
SunDocsTM プログラムでは、米国 Sun MicrosystemsTM, Inc. (以降、SunTM とします) の 250 冊以上のマニュアルを扱っています。このプログラムを利用して、マニュアルのセットまたは個々のマニュアルをご注文いただけます。
マニュアルのリストと注文方法については、米国 SunExpressTM, Inc. のインターネットホームページ http://www.sun.com/sunexpress にあるカタログセクションを参照してください。
このマニュアルでは、次のような字体や記号を特別な意味を持つものとして使用します。
表 P-1 表記上の規則
字体または記号 |
意味 |
例 |
|
---|---|---|---|
AaBbCc123 |
コマンド名、ファイル名、ディレクトリ名、画面上のコンピュータ出力、またはコード例を示す |
.login ファイルを編集する ls -a を使用してすべてのファイルを表示する system% |
|
AaBbCc123 |
ユーザーが入力する文字を、画面上のコンピュータ出力とは区別して示す |
system% su password: |
|
AaBbCc123 |
変数を示します。実際に使用する特定の名前または値で置き換える |
ファイルを削除するには、rm filename と入力する |
|
『 』 |
参照する書名を示す |
『コードマネージャ・ユーザーズガイド』を参照 |
|
「 」 |
参照する章、節、ボタンやメニュー名、または強調する単語を示す |
第 5 章「衝突の回避」を参照 この操作ができるのは、「スーパーユーザー」だけ |
|
¥ |
枠で囲まれたコード例で、テキストがページ行幅を越える場合、バックスラッシュは継続を示す |
|
ただし AnswerBook2TM では、ユーザーが入力する文字と画面上のコンピュータ出力は区別して表示されません。
コード例は次のように表示されます。
[ ] は省略可能な項目を示します。上記の場合、filename は省略してもよいことを示します。
| は区切り文字 (セパレータ) です。この文字で分割されている引数のうち 1 つだけを指定します。
キーボードのキー名は英文で、頭文字を大文字で示します (例: Shift キーを押します)。ただし、キーボードによっては Enter キーが Return キーの動作をします。
ダッシュ (-) は 2 つのキーを同時に押すことを示します。たとえば、Ctrl-D は Control キーを押したまま D キーを押すことを意味します。
このマニュアルでは、英語環境での画面イメージを使っている。このため、実際に日本語環境で表示される画面イメージとこのマニュアルで使っている画面イメージが異なる場合がある。本文中で画面イメージを説明する場合には、日本語のメニュー、ボタン名などの項目名と英語の項目名が適宜、併記されている
「x86」という用語は、一般に Intel 8086 ファミリに属するマイクロプロセッサを意味する。これには、Pentium、Pentium Pro の各プロセッサ、および AMD と Cyrix が提供する互換マイクロプロセッサチップが含まれる。このマニュアルでは、このプラットフォームのアーキテクチャ全体を指すときに「x86」という用語を使用し、製品名では「Intel 版」という表記で統一してる