我正在尝试在 8Gb Windows 7 64 位机器上写入 RAM。
int main(int argc, char *argv[])
{
for (__int64* i; ; i = new __int64(0))
continue;
return 0;
}
在它占用大约 2-3gigs 之后,它会抛出一个异常: Microsoft C++ exception: std::bad_alloc at memory location 0x0039f634.
我可以说任务管理器中仍然有足够的 RAM。我曾尝试使用 Visual Studio 2010 和 Qt Creator。
抛出的异常中断mlock.c
:
void __cdecl _unlock (
int locknum
)
{
/*
* leave the critical section.
*/
LeaveCriticalSection( _locktable[locknum].lock );
}
有任何想法吗?我希望它用 0 写入所有非活动 RAM。