3

什么是具有 MEM_TOP_DOWN 的VirtualAlloc的 Linux 或 POSIX 等价物,如果有的话?

4

1 回答 1

3

POSIX 在mmap.

mmapBSD libc 也有这些标志)的 GNU C 库版本虽然扩展了它的功能,但使用MAP_FIXED(在特定地址分配)和MAP_GROWSDOWN(名称类似但MEM_TOP_DOWN实际上与此选项无关)。GNU 和 BSD 的联机帮助页都不鼓励使用这些函数,因为可移植性问题(您被绑定到特定的 C 库,不再完全独立于操作系统)。

您需要确定一种查找最高地址的方法。我建议尝试在顶部分配,并将传递的地址向下移动,直到它成功为止。步长和“搜索”算法将取决于您对精度和性能的需求。

于 2016-03-10T14:16:23.370 回答