Windows には VirtualAlloc があり、アドレス空間の連続した領域を予約できますが、実際には物理メモリを使用しません。後でそれ (またはその一部) を使用する場合は、再度 VirtualAlloc を呼び出して、以前に予約したページの領域をコミットします。
これは実際には非常に便利ですが、最終的にはアプリケーションを Linux に移植したいので、後で移植できない場合は使用したくありません。Linuxにはこれを行う方法がありますか?
編集 - ユースケース
4 GB などの仮想アドレス空間を割り当てることを考えていますが、一度に 64K しかコミットしません。これにより、アレイを最大 4 GB までゼロコピーする方法が得られます。これは重要です。通常、配列サイズとコピーを 2 倍にすると、非常に大きな配列の許容できないレイテンシがランダムに発生するように見えるからです。