• ベストアンサー

DLLはどうやって動作するのか?

DLLというのはライブラリですよね。 ということはDLL単体では何も動きませんよね? C言語とかでいうとコンパイルしてできた実行ファイルに利用されてはじめて動作するということですか? どうやって動作するのかがイマイチわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • PAPA0427
  • ベストアンサー率22% (559/2488)
回答No.1

exeと同じですよ。 ただし、仰るように他のexeから呼び出されてから、そこの部分が実行されます。 つまり小さなexe(プログラム)の集まりだと考えてください。 色々なプログラムで、共通して使いたいとか、プログラム同士のインタフェースを統一する場合などに使います。 また、この部分はこれでなきゃという場合にも使います。つまりDLLを使う事で、アプリ作成の際の開発の手間を省く意味もあります。 C言語だとライプラリィがあって、コンパイルする場合にインクルードして使用しますが、DLLの場合はDLLに記述されているexeプログラムを呼び出せばすみます。 C言語で言えば外部サブルーチンになりますね。

usui323
質問者

お礼

回答ありがとうございました。 共有もできるんですねー。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.3

一般的にC言語などでプログラムを作成する場合、全ての処理をプログラムする わけではなく、標準関数やよく使う関数などはライブラリという形になっています。 プログラミングした部分とそこで利用するライブラリが一体になってプログラムは 実行されるわけですが、一体にする(リンクするといいます)方法に2つあります。 1つは、スタティックリンクといって、作成時に実行ファイルに取り込んで しまう方法です。 もう1つがダイナミックリンクというやり方で、作成時にはリンク情報のみを 取り込んで、実行時に別ファイル(DLL)から読み込んで利用するものです。 そうすることで、プログラムファイル自体のサイズを小さくすることができます。 ちなみに、DLLはダイナミックリンクライブラリの略です。 尚、UNIX系のOSでは同様のライブラリをシェアドライブラリということが 多いようです。

usui323
質問者

お礼

回答ありがとうございます。 UNIX系になると名前が変わるんですね~

すると、全ての回答が全文表示されます。
  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.2

サブルーチンて判りますか。ある程度まとまった仕事を任されたプログラムのことです。 普通のプログラム(親という)から呼び出されて動きます。 終わると又もとのプログラム(親)に戻って処理を続行します。 親とサブルーチンは前もって連結しておかないといけないのですが、DLLというのは 親との連結処理を前もってしておく必要のない特殊なサブルーチンのことです。

usui323
質問者

お礼

回答ありがとうございます。 まだ勉強途中ですがサブルーチンはわかりました。

すると、全ての回答が全文表示されます。

関連するQ&A