-3

8Gb Windows 7 64 ビット マシンで RAM を 0write しようとしています。

int main(int argc, char *argv[])
{
    for (__int64* i; ; i = new __int64(0))
        continue;

    return 0;
}

約 2 ~ 3 ギガを消費した後、例外がスローさ 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 );
}

何か案は?非アクティブなRAMをすべて0で書き込みたい。

4

1 に答える 1

0

ビルド オプションで win32 ではなく x64 としてコンパイルする

于 2012-06-17T15:43:20.440 に答える