mmap如何处理矛盾的论点?

问题描述

我是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 (将#修改为@)