我如何将文件映射到保留的内存空间?在我的计划中,我想:
size_t size
处的mmap保留addr
字节而不进行文件映射fd
映射到保留映射中的某个偏移量我在想这可以通过munmap
预留空间的一个区域来映射文件来完成,但是有更简单的方法吗?
这里有一些代码来表示我正在做的事情:
void* reserve(void* addr_hint, size_t map_size) {
// stuff
return (void *) mmap(addr_hint, page_multiple, PROT_NONE, map_flags, NULL, 0);
}
void* map(void* addr, int fd, size_t offset, size_t size) {
// addr has already been reserved in the reserve function above
// How do I proceed to mmap the file in a previously reserved memory space?
}