リンカーとライブラリ

概要

このマニュアルは、Solaris リンカーと実行時リンカーに加え、これらが動作するオブジェクトについて説明しています。Solaris リンカーの基本的な動作には、オブジェクトの結合、1 つのオブジェクトから別のオブジェクト内にあるシンボル定義へのシンボルリファレンスの接続があります。この動作は、通常、結合と呼ばれます。

このマニュアルは次の部分に展開されます。

「リンカー」

リンカー ld(1) は、1 つまたは複数の入力ファイル (再配置可能なオブジェクト、共有オブジェクト、またはアーカイブライブラリのいずれか) を連結して、1 つの出力ファイルを作成します (再配置可能オブジェクト、実行可能アプリケーション、または共有オブジェクトのいずれか)。リンカーは、通常、コンパイル環境の一環として呼び出されます (cc(1) を参照)。

「実行時リンカー」

実行時リンカー ld.so.1(1) [ld.so.1 は共有オブジェクトの特殊ケースなのでバージョンの更新が可能です。ここではバージョン No.1 が使われていますが、Solaris の今後のリリースによってバージョンを重ねていきます。] は、実行時に動的実行可能ファイルと共有オブジェクトを処理し、これらを結合して実行可能なプロセスを作成します。

「共有オブジェクト」

共有オブジェクト (「共有ライブラリ」と呼ぶ場合もある) とは、リンク編集フェーズからの出力の書式の 1 つです。ただし、パワフルでフレキシブルな実行時環境を作成する上でのこれらの重要性は、それぞれの節で説明しています。

「オブジェクトファイル」

Solaris リンカーは、実行可能なリンク書式 (ELF) に適合するファイルを使用して稼動します。

これらの領域は、それぞれのトピックに分割できますが、重複する部分も多いため、このマニュアルでは、各領域について説明する場合には、接続の原理と設計を同時に説明しています。