我的程序使用创建一个文件
HANDLE_ERROR(fd = open(path/to/file,O_WRONLY|O_CREAT,0640)))
映射它
uint8_t *output_file_addr = (uint8_t *)mmap ( NULL, size , PROT_WRITE, MAP_SHARED, fd, 0 )
if(output_dic_addr == MAP_FAILED){
fprintf(stderr,"%s\n",strerror(errno));
exit(EXIT_FAILURE);
}
mmap 响应权限被拒绝
最佳答案
通过使用 posix_fallocate(...) 为文件分配空间解决了该问题。
我以为mmap也会做分配(错误判断)
关于c - mmap 对于新创建的文件失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53112889/