07/02/06 17:49:34
>>331
VS2005で「DLLを作る」と言ったときには自動的にLIBファイルも作られるけど、
この2つは完全に別種のもの。中身は一緒、ただ使い方が違う。
LIBファイルは静的リンク用のファイル。
自分の実行ファイルの中に(コンパイルの時点で)取り込んでしまって、
あたかも自分の書いたコードと同じように使えます、というもの。
だからLIBを組み込むときにはリンカなり#pragmaなりで予め設定をして、
コンパイルのときにリンクすることを明示しなければならない。
DLLは動的リンク用のファイル。
一般的には、まずLoadLibrary()でDLLファイルを読み込み、
(そこでもし成功したなら)次にGetProcAddress()で
DLLの中に埋め込まれた関数を取り出して使う、
最後にFreeLibrary()でDLLを自分のプログラムから取り外す、
という段取りを踏む。
コンパイル時には存在しなくても構わない、実行時にあればいい。