虚拟内存

Win下程序在idle的情况下,把占用的内存腾出,存入虚存,是应该的

From:SMTH

QQ2004II的BasicCtrlDll.dll中提供了一个函数
void __cdecl MinimizeMemory(void);
用以清理qq的内存。cygwin曾说其原理就是调用NT的API SetProcessWorkingSetSize(),
我刚才看了一下,果然如此:

void MinimizeMemory()
{
    OSVERSIONINFOEX osvi;
    GetVersionEx(&osvi);
    if(osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
    {
       SetProcessWorkingSetSize(GetCurrentProcess(), -1, -1);
    }
}

这样的话,所谓“清理内存”其实就是把idle的内存放到虚拟内存里面去,和MyIM什么的
是一样的。

你可能感兴趣的:(虚拟内存)