c - 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
允许用户写sth,但PROT_READ
表示只读,他们不是互相矛盾吗?
解决方案
推荐阅读
- swift - Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed:字符 0 周围的值无效
- jquery - 如何在 jQuery 中处理按钮单击事件
- .net - 如何在不更改迁移文件的情况下添加具有默认值“false”的新布尔列?
- reactjs - 找不到模块“react-bootstrap-table-next”的声明文件
- python - 将空格填充到具有可变长度的系列中的字符串
- django - 多个文件上传在表单向导 Django 中不起作用
- powershell - 如何将 SAMAccountName 添加到输出?
- python - Python:如何创建 opencv 模板图像映射?(阅读扑克牌)
- menu - 如何在渲染过程中使用电子实现本机自定义子菜单
- docker - 检索已被 NAT 到连接到 docker 网桥网络的 docker 容器的数据包的目标 IP?