【发布时间】:2014-05-21 08:46:28
【问题描述】:
不幸的是,我必须在 C# 客户端中使用带有 内存泄漏的本机 C++ DLL。
我想知道是否有避免在我的 c# 应用程序中出现这种内存泄漏的好方法?
实际上,我尝试多次加载/卸载我的 DLL 以避免内存占用,但我不确定它是否可以避免内存泄漏:
// Dynamically load DLL file
NativeMethods.LoadLibrary(...)
// Do stuffs with the DLL
... (call compute method)
// Dynamically unload DLL file
NativeMethods.FreeLibrary(...)
// Dynamically load DLL file
NativeMethods.LoadLibrary(...)
// Do stuffs with the DLL
... (call compute method)
// Dynamically unload DLL file
NativeMethods.FreeLibrary(...)
etc...
谢谢
【问题讨论】:
-
"我不确定它是否能避免内存泄漏" 那么你如何能够首先检测到内存泄漏呢?你有证据证明它泄漏了吗?要么你有一个泄漏的测试用例,要么你没有。如果这样做,请实施您的解决方案并再次测试。它要么有效,要么无效。
标签: c# dll memory-leaks unmanaged