微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – mmap做什么?

mmap(NULL,n,PROT_WRITE,MAP_ANON | MAP_PRIVATE,-1,0);

喜…
我想弄清楚上面代码的含义……?

解决方法

它请求n字节内存的私有可写匿名映射.

>私有映射意味着它不与其他进程共享(例如,在fork()之后,子进程和父进程将具有独立的映射);
>匿名映射意味着它不受文件支持.

在这种情况下,它实际上是请求一个n字节的内存块,所以大致相当于malloc(n)(尽管它必须用munmap()而不是free()释放).它还要求内存可写但不可读,但底层硬件通常不支持这样的请求.

原文地址:https://www.jb51.cc/c/110311.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐