DOBON.NET DOBON.NETプログラミング掲示板過去ログ

LoadLibraryとFreeLibrary

  • 題名: LoadLibraryとFreeLibrary
  • 著者: KH
  • 日時: 2006/10/01 18:46:48
  • ID: 17750
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[Windows2000pro VisualC++6.0]
分類:[その他]

ただいまDLLの使い方を勉強中なんですが、テストプログラムでタイトルのAPIを
使っていた所、疑問がわきました。Loadlibraryで呼び出したDLLが確保したハンドル
やら、メモリやらはFreelibraryでは、開放されないのでしょうか?
タスクマネージャを見たところ、ロードしたアプリケーション自体が終了するまで
ハンドルやカーネルメモリは減少しないように見受けられました。
また、もし上記方法で開放されないとしたらアプリケーション自体を終了させずに、
DLLが掴んでいるメモリやハンドルを開放するにはどのようにしたら良いのでしょうか?
どなたかご教授いただければと思います。よろしくお願い致します。
>Loadlibraryで呼び出したDLLが確保したハンドル
> やら、メモリやらはFreelibraryでは、開放されないのでしょうか?

開放されることになっています。

> タスクマネージャを見たところ、ロードしたアプリケーション自体が終了するまで
> ハンドルやカーネルメモリは減少しないように見受けられました。

本当に LoadLibrary(), FreeLibrary() 「しか」していませんか?

ひょっとして、アプリケーションに .lib をリンクしていたりはしませんか?

また、どんな .dll を扱っていますか?

標準的な .dll であれば、LoadLibrary(), FreeLibrary() をするまでもなく、開発環境やOSによって暗黙的にリンクされている場合もあります。



> また、もし上記方法で開放されないとしたらアプリケーション自体を終了させずに、
> DLLが掴んでいるメモリやハンドルを開放するにはどのようにしたら良いのでしょうか?
> どなたかご教授いただければと思います。よろしくお願い致します。
>

DOBON.NET | プログラミング道 | プログラミング掲示板