问题描述
我是C语言的新手,只是一个关于mmap
函数用法的问题,mmap
的函数原型是
void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offset);
我看到了这样的代码:
char *srcp = mmap(0,filesize,PROT_READ,MAP_PRIVATE,srcfd,0);
,我们知道PROT_READ
表示该区域的虚拟页面只能读取。
MAP_PRIVATE
则表明它是一个私有的写时复制对象。写时复制技术有点像,当两个进程使用同一个对象时,当进程A修改该对象时,这些更改仅属于进程A,而对进程B不可见。因此MAP_PRIVATE
允许用户编写某项,但是PROT_READ
表示只读,它们不矛盾吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)