2010-08-24 44 views
3

在OS X中,Windows的VirtualAlloc等效於什麼?也就是說,我怎樣才能保留一個連續的地址空間而不需要實際提交它,然後再提交它的大塊?OS X上的預留存儲器

感謝,

亞歷

+1

AFAIK,沒有辦法像'VirtualAlloc'那樣保留內存。對於連續分配使用'mmap'。 – jweyrich 2010-08-24 21:15:04

+1

我也見過'mmap'用於OS X和其他Unices的連續分配。一位專家能否指出Windows與VirtualAlloc的區別?也許有人回答說他們不一樣? (注意:我指的'mmap'的用戶回到'malloc',但我不記得原因) – 2010-08-25 07:23:46

回答

6

mmap()功能,調用MAP_ANON | MAP_PRIVATE,非常大致相當於VirtualAlloc()MEM_RESERVE標誌。然後通過觸摸映射中的每個頁面來提交內存。

0

不,不幸的是,目前還沒有確切相當於VirtualAlloc