Windows имеет VirtualAlloc, что позволяет зарезервировать смежную область адресного пространства, но фактически не использует физическую память. Позже, когда вы хотите использовать его (или его часть), вы снова вызываете VirtualAlloc, чтобы зафиксировать область ранее зарезервированных страниц.
На самом деле это действительно полезно, но я хочу, в конечном итоге, подключить мое приложение к Linux, поэтому я не хочу его использовать, если не могу его позже портировать. У linux есть способ сделать это?
EDIT - Use Case
Я подумываю выделить 4 ГБ или некоторые из таких виртуальных адресных пространств, но только для этого 64 Кб одновременно. Это даст мне нулевой экземпляр, чтобы увеличить массив до 4 ГБ. Это важно, потому что типичный двойной размер и копия массива представляет собой случайную неприемлемую задержку для очень больших массивов.