Windows имеет VirtualAlloc, который позволяет резервировать непрерывную область адресного пространства, но фактически не использовать физическую память. Позже, когда вы захотите использовать его (или его часть), вы снова вызываете VirtualAlloc для фиксации области ранее зарезервированных страниц.
На самом деле это действительно полезно, но я хочу со временем перенести свое приложение на linux - поэтому я не хочу использовать его, если не смогу портировать его позже. Есть ли в Linux способ сделать это?
РЕДАКТИРОВАТЬ - вариант использования
Я думаю выделить 4 ГБ или что-то вроде виртуального адресного пространства, но только выделять его 64 КБ за раз. Это дало бы мне возможность без копий увеличить массив до 4 ГБ. Что важно, потому что типичное удвоение размера массива и копирования приводит к случайным, неприемлемым задержкам для очень больших массивов.