「動的リンク」の版間の差分

削除された内容 追加された内容
m typo をを→を
Poppy~jawiki (会話 | 投稿記録)
編集の要約なし
1行目:
'''動的リンク'''('''どうてきりんく''')とは二つの意味がある。
'''動的リンク'''('''どうてきりんく''')とはプログラムをコンパイルするときではなく、プログラムから利用するときにはじめて組み合わせて使われる[[ライブラリ]]を使う場合の形式。この動的リンクを使った[[ライブラリ]]を、[[ダイナミックリンクライブラリ]]と呼ぶこともある。
#コンピュータのプログラムにおいて、実行時にプログラムの結合を行う方式
#ハイパーテキストにおいて、ノード間のリンクを参照時に決定する方式
<hr>
=コンピュータのプログラムにおいて、実行時にプログラムの結合を行う方式=
コンピュータのプログラム作成時にはおいては、一般に大規模なプログラムをモジュールに分割して、コンパイル後に、オブジェクトファイルを汎用的ライブラリと共につなぎ合わせて実行可能形式のバイナリを作成する。これを静的リンクと呼ぶ。
 
それとは異なり、プログラムを実行する時に初めて他のモジュールやライブラリと結合される方式を動的リンクと呼ぶ。この動的リンクを使った[[ライブラリ]]を、共有ライブラリあるいは[[ダイナミックリンクライブラリ]](DLL)と呼ぶ。
利点として、ライブラリの個別バージョンアップ等が容易にでき、アプリケーションを更新しなくても新機能を使えることがあげられるが、欠点としてはコンパイラを統一する必要があるなどである。
 
利点として、実行可能形式のプログラムサイズを小さくできること、共有ライブラリをバージョンアップしたときにプログラムを再コンパイルする必要がないことがあげられる。
 
欠点としては、暗黙的に特定のバージョンの共有ライブラリの内部処理や仕様に依存していたプログラムがライブラリのバージョンアップによって動作しなくなること、バージョンアップした共有ライブラリに不良が作り込まれているとコンピュータ全体に影響が及ぶこと、バージョンアップによる影響範囲を事前に特定できないこと、複数のバージョンのライブラリがシステム内に存在するときの動作が特定できないこと等がある。
 
=ハイパーテキストにおいて、ノード間のリンクを参照時に決定する方式=
ハイパーテキストにおいて、ハイパーテキストを記述したときにノード間のリンクをあらかじめ定義する方式に対して、参照時に動的にリンクを決定する方式を言う。