ライブラリのリンクについて

 あるソフトウェアを前の会社の先輩方と作ってます。趣味みたいな感じで。私はC++を仕事でやったこと無いので、足を引っ張りまくりです。私が雛型を作った、わかりにくいプロジェクト(先輩いわく、パッと見、C++だけど、中身はC言語)を先輩がまとめてくださったんですが、複雑になって返ってきました(私には複雑にみえるだけ)。特に外部ライブラリに付いて質問したところ、昨日、先輩がメールで詳細に教えてくださったので、忘れないようにメモっておく。というか、まる写し。

LIB形式でのリンクは、静的リンク(スタティックリンク)といって ビルド時に、必要なモジュールを全てリンクするので、EXEのみで実行可能となりますので、使いやすい方法です。当然、LIBファイルを変更すると、EXEも再ビルドする必要がありますし、ファイルサイズ、使用メモリサイズが増加します。  一方、DLL形式でのリンクは、動的リンク(ダイナミックリンク)といい、こちらは実行時に必要なモジュールをロードするので、EXE以外にDLLファイルが必要となります。反面、EXEとDLLは独立しているので、I/Fさえ同じであれば、DLLを変更した際は、DLLを入れ替えるだけでよく、EXEのファイルサイズ、使用メモリサイズは少ないことになります。

ということ。 去年はDLLを作らされたけど、いまさらその利点がわかった気がします。