ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
リンカーとライブラリ Oracle Solaris 11 Information Library (日本語) |
以降の節には、リンカーでもっとも一般的に使用するシナリオの概要が記載してあります。これは、実際に操作を行う際の「虎の巻」として利用できます。リンカーによって生成される出力モジュールの種類については、「リンク編集」を参照してください。
記載された例には、コンパイラドライバに指定するリンカーのオプションが示されています。リンカーを起動するには、これらのオプションを使用するのがもっとも一般的です。例の中では、cc(1) を使用しています。「コンパイラドライバを使用する」を参照してください。
リンカーは、入力ファイルの名前によって動作を変えることはありません。各ファイルは、開かれ、検査が行われて、必要な処理の種類が判別されます。「入力ファイルの処理」を参照してください。
libx.so の命名規約に従って命名された共有オブジェクトと、lib x.a の命名規約に従って命名されたアーカイブライブラリは、-l オプションを使用して指定できます。「ライブラリの命名規約」を 参照してください。これにより、-L オプションを使用して指定できる検索パスに、より柔軟性を持たせることができます。「リンカーが検索するディレクトリ」を参照してください。
高品質のオブジェクトを作成するために、長い期間をかけて、多くの機能がリンカーに追加されてきました。これらの機能により、さまざまな実行環境で効率的かつ確実にオブジェクトを使用できるようになります。ただし、既存の構築環境との下位互換性を確保するために、デフォルトではこれらの機能の多くが有効になっていません。たとえば、直接結合や遅延読み込みなどの機能は、明示的に有効にする必要があります。リンカーは、どの機能を適用するかを選択するプロセスを簡略化できる、-z guidance オプションを備えています。ガイダンスが要求されると、リンカーは警告ガイダンスメッセージを発行できます。使用するオプションやほかの関連する変更を提示するこれらのメッセージを使用すると、さらに高品質なオブジェクトを作成できます。新しい機能がリンカーに追加されたときや、高品質オブジェクトを作成するためにさらに適した方法が見つかったときなど、ガイダンスメッセージが徐々に変わる可能性があります。ld(1) を参照してください。
リンカーは、基本的には、「静的」または「動的」の 2 つの方法のうちのいずれかで稼動します。