リンクの処理(静的リンク)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/12 21:29 UTC 版)
「リンケージエディタ」の記事における「リンクの処理(静的リンク)」の解説
静的リンクでは、おおむね以下の処理が行われる。 ファイルの連結 分割コンパイルによってオブジェクトファイルが複数ある場合、連結して単体のファイルとする。 ライブラリ内のファイルの連結 ライブラリの関数を呼び出している場合は、ライブラリ内のオブジェクトファイルも連結される。 OS固有コードの追加 OSによって決められたスタートアップコードやメタ情報を追加する。 アドレスの解決 ソース内で使用した関数や変数の名前は、最終的にはすべてメモリアドレスに置き換えられる。リロケータブルなプログラムではこれはプログラム先頭等からの相対アドレスとなるが、プログラム全体のサイズがわかるまでは相対アドレスを決定する事はできないため、この処理はリンク時に実施される。
※この「リンクの処理(静的リンク)」の解説は、「リンケージエディタ」の解説の一部です。
「リンクの処理(静的リンク)」を含む「リンケージエディタ」の記事については、「リンケージエディタ」の概要を参照ください。
リンクの処理(動的リンク)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/03/12 21:29 UTC 版)
「リンケージエディタ」の記事における「リンクの処理(動的リンク)」の解説
動的リンクにおいては、ローダをなんらかの方法で実行ファイルに加えなければならない。 あらかじめ用意されているローダを静的リンクする。プログラマから見ると、インポートライブラリの静的リンクやリンケージエディタのオプション設定等の形となる。 プログラマが、API等を直接呼び出してローダのコードを書く(この方式ではリンケージエディタは動的リンクに関与しない)。
※この「リンクの処理(動的リンク)」の解説は、「リンケージエディタ」の解説の一部です。
「リンクの処理(動的リンク)」を含む「リンケージエディタ」の記事については、「リンケージエディタ」の概要を参照ください。
- リンクの処理のページへのリンク