静的リンク
- ライブラリはコンパイル済みの別のファイル(.lib)として存在
- ライブラリとアプリ(exe)はコンパイル時にリンク解決されライブラリのコードはプログラムに埋め込まれる
- ファイルの配布はアプリ(exe)のみでOK
- .NETでは静的リンクは作れません
動的リンク(静的参照)
- ライブラリはコンパイル済みの別のファイル(dll)として存在
- ライブラリとアプリ(exe)は該当機能実行時にリンク解決されるため、該当機能実行時にdllやdll内に指定した関数がないとエラーとなる
- Importsでライブラリをインポートしておく必要がある
- ファイルの配布はアプリ(exe)とdllが必要
動的リンク(動的参照)
- ライブラリはコンパイル済みの別のファイル(dll)として存在
- ライブラリとアプリ(exe)は該当機能ロード時にリンク解決されるため、該当機能実行時にdllやdll内に指定した関数がないとエラーとなる
- Importsでライブラリをインポートしておく必要がない
- ファイルの配布はアプリ(exe)とdllが必要
静的参照と動的参照の違い
- 動的参照は、全部の機能が必要なわけではなく一部機能は無くても動作させたいなど、アプリの一部機能だけを切売りするときによく使う。
- 静的参照は、アプリの機能をフルで販売するときに使う。
コメント