質問: exeファイルしかないプログラムとそうでないプログラムの違い プログラムにはexeファイル単体で動くものと、exeファイル以外にdllファイルなどさまざまな形式のデータと組み合わせて動くものがあります。後者のは、なぜexeファイル以外のデータが必要なのでしょうか?複数の機能を搭載していて、必要なときのみ呼び出すようにした方が効率的だからですか?
回答: >複数の機能を搭載していて、必要なときのみ呼び出すようにした方が効率的だからですか? それも一つの理由ですね。使用メモリが少なくて済みます。 他の大きな理由は、別々に開発したり、他人・他社が開発したソフトを利用したりするケースです。 わかりやすい極端な例としては、たとえば、10種類のソフトを開発しているaさんが、そのすべてのプログラムで、zip圧縮の機能を使っていたとします。 1個のexeで動作する方式だと、圧縮のプログラムを改善した際、全プログラムのコンパイルとexe再作成・配布が必要です。 圧縮だけをziplib.dllにまとめておけば、そのコンパイルとdll配布だけで済みます。 また別のbさんが圧縮機能が必要なプログラムを作ろうとしたけど、圧縮アルゴリズムがよくわからないとします。この場合、aさんのziplib.dllを利用することで自分が圧縮プログラムを書かなくても機能だけ利用することが出来ます。