Linux 或 POSIX 中 VirtualAlloc 的等价物是什么?与 MEM_TOP_DOWN,如果有的话?
最佳答案
关于mmap
,POSIX 似乎没有任何内容.
The GNU C Library version of mmap
( BSD libc also has these flags ) 通过 MAP_FIXED
(在特定地址分配)和 MAP_GROWSDOWN
(名称类似,但实际上是 MEM_TOP_DOWN
)扩展了它的功能与此选项无关)。 GNU 和 BSD 的联机帮助页都不鼓励使用这些函数,因为存在可移植性问题(您绑定(bind)到特定的 C 库,不再完全独立于操作系统)。
您需要确定找到最顶层地址的方法。我建议尝试在顶部分配,并将传递的地址向下移动直到成功。步长和“搜索”算法将取决于您对精度和性能的需求。
关于c - 什么是 Linux/POSIX 等同于带有 MEM_TOP_DOWN 的 VirtualAlloc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35918666/