- 458 名前:デフォルトの名無しさん [2007/06/01(金) 02:26:08 ]
- 呼び出し先のDLLがアンマネージドの場合、
そちらのDLL内で使用されたメモリは .NET Frameworkによって自動的にGCされるのでしょうか? 下記のような構成の場合、 @やAはGC対称だが、Bの場合、 B内で確保されたメモリがB内で明示的に開放されない限り、 GCされずに確保されっぱなしと考えているのですが、 その理解で問題ないでしょうか。 VB.NETのEXE @ ↓↑ C#のDLL A ↓↑ ↑.NET系の言語 ------------------------------------------------- ↓↑ ↓非.NET系の言語 普通のCのDLL B また、Bがメモリをリークしているか否かを確認するには 呼び出す直前、直後に Process.GetCurrentProcess.WorkingSet 仕掛ければいいのでしょうか (このやり方だと、カレントプロセスの使用メモリが合算されちゃうのですが、 直後−直前の差分がBのメモリ使用量になるかと思うのですが。。。) ※すれちがいかも知れませんがアドバイスいただければ。
|

|