Привет мир - что такое простая программа для использования 16 ГБ памяти? - PullRequest
2 голосов
/ 04 апреля 2011

Как я могу выделить большой объем памяти с 16 ГБ оперативной памяти? Пожалуйста, предоставьте в качестве примера простую программу на C / C ++.

* 1003 Е.Г. *

main()
{
    // (10 gigabytes) / (4 bytes) = 2 684 354 560
    int *hugearray = malloc( 2684354560 * sizeof(int) );
}

... очевидно, это не работает.

1 Ответ

7 голосов
/ 04 апреля 2011

malloc() распределяет память, но большинство ОС будут предоставлять вам виртуальное адресное пространство только до тех пор, пока вы фактически не попытаетесь прочитать или записать в эту память, и тогда они начнут выделять резервную физическую или подкачку памяти.Вам просто нужно зациклить запись некоторых значений мусора в память.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...