JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 リンカーとライブラリガイド     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

パート I リンカーおよび実行時リンカーの使用

1.  Oracle Solaris リンカーの紹介

2.  リンカー

3.  実行時リンカー

4.  共有オブジェクト

パート II クイックリファレンス

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

パート III 詳細情報

6.  直接結合

7.  システムのパフォーマンスを最適化するオブジェクトの構築

elfdump を使用したファイルの解析

基本システム

動的依存関係の遅延読み込み

位置独立のコード

-K pic-K PIC オプション

使用されない対象物の削除

未使用セクションの削除

未使用ファイルの削除

未使用の依存関係の削除

共有可能性の最大化

テキストへの読み取り専用データの移動

多重定義されたデータの短縮

自動変数の使用

バッファーの動的割り当て

ページング回数の削減

再配置

シンボルの検索

再配置が実行されるとき

再配置セクションの結合

コピー再配置

-B symbolic オプションの使用

共有オブジェクトのプロファイリング

8.  mapfile

9.  インタフェースおよびバージョン管理

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

11.  拡張性メカニズム

パート IV ELF アプリケーションバイナリインタフェース

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

13.  プログラムの読み込みと動的リンク

14.  スレッド固有ストレージ (TLS)

パート V 付録

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

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

索引

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

基本システム

アプリケーションは、動的実行可能ファイルと 1 つ以上の共有オブジェクトの依存関係から構築されます。実行時には、動的実行可能ファイルと共有オブジェクトの読み込み可能な内容の全体がそのプロセスの仮想アドレス空間にマップされます。各プロセスは、最初にメモリー内の動的実行可能ファイルと共有オブジェクトの単一コピーを参照します。

動的オブジェクト内の再配置が処理され、シンボリック参照が該当する定義に結合されます。これにより、オブジェクトがリンカーによって生成されたときには得られなかった真の仮想アドレスが計算されます。通常、これらの再配置によって、プロセスのデータセグメント内のエントリが更新されます。

オブジェクトの動的リンクのベースとなるメモリー管理スキームでは、プロセス間のメモリー共有がページの粒度で行われます。メモリーページは、実行時に変更されていなければプロセス間で共有できます。プロセスがデータ項目の書き込み時または共有オブジェクトへの参照の再配置時にオブジェクトのページに書き込むと、そのページの専用コピーが生成されます。この専用コピーは、オブジェクトのほかのユーザーに対して何も影響しません。ただし、このページはほかのプロセス間での共有に伴う利点をすべて失います。この方法で変更されたテキストページは、「純粋でない」(impure) と呼ばれます。

メモリーにマップされた動的オブジェクトのセグメントは、読み取り専用のテキストセグメントと読み書き可能なデータセグメントに分類されます。elfdump を使用したファイルの解析」 ファイルからこの情報を取得する方法については、Analyzing Files With elfdumpを参照してください。動的オブジェクトを開発するときの主要目的は、テキストセグメントを最大化して、データセグメントを最小化することにあります。この分割により、動的オブジェクトの初期設定と使用に必要な処理の量を削減しながら、コード共有の量を最適化できます。次のセクションでは、この目的を達成するために役立つメカニズムを示します。