从特定地址调用 mmap

Calling mmap from specific address

如何从特定地址(0x6A6F7444)读取mmap函数? 我试过了:

mmap(0x6A6F7444, 100, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0)

但它不起作用。编译说:

warning: passing argument 1 of ‘munmap’ makes pointer from integer without a cast [-Wint-conversion] 
#include <stdint.h> // for uintptr_t

uintptr_t addr = 0x6A6F7444;

mmap((void *)addr, 100, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);

将禁用警告。

为了 mmap 使用您的地址,它需要 MAP_FIXED 标志,请参阅 man mmap 了解完整详情。