为什么munmap需要一个长度作为参数?【JAVA教程】

!
也想出现在这里? 联系我们
信息

为什么munmap需要一个长度作为参数?,第1张

概述为什么munmap需要一个长度作为参数

我想知道,为什么映射内存的大小是一个参数传入的,因为从同一个地址开始的映射不能多于一个映射(可​​以吗?),为什么linux内核不能同时logging起始地址和长度,但让用户空间程序记住它们。

我的意思是,为什么不这样做,只要使用起始地址作为主键来存储信息树。

为什么linux(x86)的页面大小是4 KB,这是如何计算的?

Makefile make:对于`default\’不需要做任何事情

linux内核源码中的“current”是什么?

linux设备驱动程序代码中的MODulE_AliAS是什么?

linux中同时套接字读/写(“全双工”)(特别是aio)

可以map 5页,然后unmap其中的一个。 而关于什么页面去映射的信息被传递为地址和长度,其长度是页面大小的倍数。

您可以映射您之前映射的内存地址的子范围。 例如:

#include <stdio.h> #include <sys/mman.h> #include <unistd.h> int main() { int pagesize = sysconf(_SC_PAGESIZE); char *addr = mmap(NulL,4 * pagesize,PROT_READ | PROT_WRITE,MAP_PRIVATE | MAP_ANONYMOUS,-1,0); addr[pagesize] = \’X\’; munmap(addr,pagesize); printf(\”%cn\”,addr[pagesize]); }

总结

以上是内存溢出为你收集整理的为什么munmap需要一个长度作为参数?全部内容,希望文章能够帮你解决为什么munmap需要一个长度作为参数?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞158 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容