「スタティックリンク」と「ダイナミックリンク」の違い
予備知識
まずは前提となる知識を3つ説明します。
1つ目です。
プログラムを作って動かすまでの流れは
1.プログラムを作る
2.プログラムを動かす
です。
「そんなの当たり前じゃん」と思うかもしれませんが、意識しておいてください。

2つ目です。
プログラムの種類にもよりますが
プログラムの本体となるファイルに、部品ファイルが合体して1つのプログラムになる
プログラムが多いでしょう。
このときに合体する部品ファイルは「ライブラリ」と呼ばれたりします。

3つ目です。
プログラムの本体ファイルに部品ファイルをくっつけることを「リンク」と言います。

以上が予備知識です。
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| スタティックリンク | プログラムの部品同士をくっつけるときのやり方のひとつで、プログラムを作るときに合体させるやり方 |
| ダイナミックリンク | プログラムの部品同士をくっつけるときのやり方のひとつで、プログラムを動かすときに合体させるやり方 |
似ているところ
どちらも、部品ファイルを本体ファイルに合体させるやり方を指す用語です。

違うところ
部品ファイルを本体ファイルに合体させるタイミングが違います。
プログラムの部品ファイルを本体ファイルに合体させるタイミングは、2つあります。
1.プログラムを作るとき
2.プログラムを動かすとき
の2つです。
この2つのタイミングのうち
1.プログラムを作るとき
に合体させるのがスタティックリンクです。

もう一方の
2.プログラムを動かすとき
に合体させるのがダイナミックリンクです。

備考
スタティックリンクとかダイナミックリンクがピンと来ない人は
スタティックリンク:一体型
ダイナミックリンク:装備型
と解釈してください。
スタティックリンクは、身体の中に武器を埋め込むイメージです。
埋め込んだ武器は、身体と一体化しています。
24時間365日くっついています。
新しいものに取り換えたり、改造するのは、大変です。
身体の中に埋め込んでありますからね。
その代わり、うっかり置き忘れたりして失くすことは ありません。

ダイナミックリンクは、剣とか盾を装備するイメージです。
剣や盾は、それ自体が独立しています。
普段は飾っておいて、冒険に出るときに身に着けるでしょう。
新しいものに取り換えたり、改造するのが、簡単です。
その代わり、いざ冒険に出ようと思ったときに、どこにしまったか忘れていて、見つからないかもしれません。

そんなイメージです。






