スタティックリンクとダイナミックリンクの違い | リンクオプション

スポンサード リンク

このページではスタティックリンクとダイナミックリンクの違いに関して説明します。どちらもプログラムのリンク方式のことです。
スタティックリンクはプログラムの生成(コンパイル時)にオブジェクト(ライブラリなど)をファイルにまとめる方式です。一つのファイルにまとめることが可能です。一方でダイナミックリンクはコンパイル時にオブジェクトを取り込みません。プログラムの実行時に、必要になった場合にオブジェクトをロードすることとなります。

スタティックリンクとダイナミックリンクの違い


スポンサード リンク

(注意)分かりやすく簡単に記載しており、一部の環境や分野では記載内容が異なる可能性があります。あくまでも参考程度でお読みください。

比較表

比較は以下の表の通りとなります。

説明スタティックリンクダイナミックリンク
概要オブジェクトをプログラムにくっつける。

オブジェクトをプログラムにくっつけない。
メリット・呼び出しが速い(同じメモリ空間で呼び出すため)
・プログラムとオブジェクトをまとめて保管(配布)することが可能。
・プログラムと相性のよいバージョンのオブジェクトを強制することが可能。
・初回のプログラムのメモリロードが速い。
・ファイルのサイズが小さくなる。
・オブジェクトが最新版にアップデートした場合、その最新版が呼ばれる。
デメリット・ファイルサイズが大きくなる。
・初回のプログラムのメモリへのロードに時間がかかる。
・オブジェクトのバージョンが上がっても、古いバージョンを使用することとなる。
・呼び出しが遅い。
どのような場合に使用するか・呼び出すオブジェクトを固定したい場合。
・オブジェクトを一緒に配布したい場合。
・オブジェクトを呼び出す頻度が多く、動作を速くしたい場合。
・そのオブジェクトを呼び出す頻度が少ない場合
・オブジェクトが最新版になった場合、その最新版をコールする仕組みにしたい場合。








【注意】本ページは著作権で保護されています。内容は何人も補償しません。時間的あるいは金銭的損失等、一切保証しません。

理解しやすく記載されており、一部不正確な記載がある可能性があります。ご自身の責任で参考にしてください。