小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


スタティックライブラリでMFCを使用する、と共有DLLでMFCを使うの違い

はじめに

Visual StudioのMFCの設定には以下の2つがあります。

  • スタティックライブラリでMFCを使用する
  • 共有DLLでMFCを使う

f:id:replication:20190921184432p:plain
この違いについて知らなかったので調べてみました。

ざっくり言うと
スタティックライブラリでMFCを使用する 静的リンク 外部のMFC DLLが不要、ファイルサイズ大きい
共有DLLでMFCを使う 動的リンク 必要に応じて外部のMFC DLLを読み込む。外部DLLを配置したり、インストールする必要あり。ファイルサイズ小さい
スタティックライブラリでMFCを使用する

MFCを静的リンクして使用します。MFCの必要なコードが包含されるため、ファイルサイズは大きくなりますが、外部のDLLは不要になります。

共有DLLでMFCを使う

MFCを動的リンクして使用します。MFCの必要なコードが包含されず、必要に応じて外部DLLを利用するため、外部 DLL を配置したり、インストールする必要があります。MFCが内包されないため、ファイルサイズは小さくなります。