2016-03-10 44 views

回答

3

當涉及到mmap時,POSIX似乎沒有任何東西。

The GNU C Library version of mmapBSD libc also has these flags)雖然擴展了其功能,具有MAP_FIXED(分配在特定的地址)和MAP_GROWSDOWN(其名稱類似,但實際上MEM_TOP_DOWN沒有任何與該選項完成)。由於可移植性問題(您被綁定到特定的C庫,而不是完全獨立於操作系統),GNU和BSD的手冊頁都不鼓勵使用這些函數。

您需要確定一種方法來查找最上面的地址。我建議嘗試在頂部分配,並將傳遞的地址向下移動,直到成功。步長和「搜索」算法將取決於您對精度和性能的需求。

+0

謝謝。這很難過...... – frp

+0

@frp爲什麼?功能在那裏。你可以使用它。警告只是:警告,告訴你這個標誌不是POSIX。 – rubenvb

+0

它基本上是一樣的,對。我的任務已解決。 「悲傷」我的意思是隻用這種方式來模擬VirtualAlloc會很慢。但考慮到我的任務的具體細節,它可以很容易地進行優化,所以這不是什麼大不了的事情。 – frp

相關問題