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

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

以上が予備知識です。
それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| 静的ライブラリ | プログラムを作るときに合体させる、プログラムの部品ファイル |
| 動的ライブラリ | プログラムを動かすときに合体させる、プログラムの部品ファイル |
似ているところ
どちらもプログラムの部品ファイルです。
違うところ
部品ファイルを本体ファイルに合体させるタイミングが違います。
プログラムの部品ファイルを本体ファイルに合体させるタイミングは、2つあります。
1.プログラムを作るとき
2.プログラムを動かすとき
の2つです。
この2つのタイミングのうち
1.プログラムを作るとき
に合体させる部品ファイルが静的ライブラリです。

もう一方の
2.プログラムを動かすとき
に合体させる部品ファイルが動的ライブラリです。

備考
静的ライブラリは「スタティックリンクライブラリ」や「静的リンクライブラリ」とも呼ばれます。
動的ライブラリは「ダイナミックリンクライブラリ(DLL)」や「動的リンクライブラリ」とも呼ばれます。
静的ライブラリとか動的ライブラリがピンと来ない人は
静的ライブラリ:一体化型の部品ファイル
動的ライブラリ:装備型の部品ファイル
と解釈してください。
静的ライブラリは体に埋め込んだ武器のイメージです。

埋め込んだ武器は身体と一体化しています。
24時間365日くっついています。
新しいものに取り換えたり改造するのは大変です。
身体の中に埋め込んでありますからね。
その代わり、うっかり置き忘れたりして失くすことは ありません。
動的ライブラリは剣とか盾のイメージです。

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






