【发布时间】:2017-08-02 13:50:55
【问题描述】:
如何从内存中卸载 DLL。我使用了 FreeLibrary,但它仍在加载中
HINSTANCE hGetProcIDDLL = LoadLibrary("path.dll");
f_funci func = (f_funci)GetProcAddress(hGetProcIDDLL, "method");
int x = func();
FreeLibrary(hGetProcIDDLL);
我使用了UnmapViewOfFile 和FreeLibraryAndExitThread,但它仍然在内存中
【问题讨论】:
-
FreeLibrary()返回什么? (您可能还想检查LoadLibrary()和GetProcAddress()的返回值)。 -
@Danny_ds FreeLibrary() 返回 true。
-
您能解释一下“仍在记忆中”是什么意思吗?
-
也许你可以尝试调用
GetLastError函数,看看它返回了什么。 -
为什么你认为它还在记忆中?
标签: c winapi memory dll loadlibrary