3
什麼是Linux或POSIX相當於VirtualAlloc與MEM_TOP_DOWN,如果有的話?什麼是Linux/POSIX等同於MEM_TOP_DOWN的VirtualAlloc?
什麼是Linux或POSIX相當於VirtualAlloc與MEM_TOP_DOWN,如果有的話?什麼是Linux/POSIX等同於MEM_TOP_DOWN的VirtualAlloc?
當涉及到mmap
時,POSIX似乎沒有任何東西。
The GNU C Library version of mmap
(BSD libc also has these flags)雖然擴展了其功能,具有MAP_FIXED
(分配在特定的地址)和MAP_GROWSDOWN
(其名稱類似,但實際上MEM_TOP_DOWN
沒有任何與該選項完成)。由於可移植性問題(您被綁定到特定的C庫,而不是完全獨立於操作系統),GNU和BSD的手冊頁都不鼓勵使用這些函數。
您需要確定一種方法來查找最上面的地址。我建議嘗試在頂部分配,並將傳遞的地址向下移動,直到成功。步長和「搜索」算法將取決於您對精度和性能的需求。
謝謝。這很難過...... – frp
@frp爲什麼?功能在那裏。你可以使用它。警告只是:警告,告訴你這個標誌不是POSIX。 – rubenvb
它基本上是一樣的,對。我的任務已解決。 「悲傷」我的意思是隻用這種方式來模擬VirtualAlloc會很慢。但考慮到我的任務的具體細節,它可以很容易地進行優化,所以這不是什麼大不了的事情。 – frp