首页 > 其他 > 详细

mmap注意事项

时间:2022-05-27 20:20:45      阅读:16      评论:0      收藏:0      [点我收藏+]

1、创建映射区的过程中,隐含着一次对映射文件的读操作。

2、当MAP_SHARED时,要求:映射区的权限应<=文件打开的权限(处于对映射区的保护)。而MAP_PRIVATE则无所谓,因为mmap中的权限是对内存的限制。

(MAP_PRIVATE只对内存改动,并不会改动文件内容)。

3、映射区的释放与文件关闭无关。因为只要映射成功,文件可以立即关闭。

4、特别注意,当映射文件的大小为0时,不能创建映射区。所以:用于映射的文件必须有实际的大小!!

  mmap使用时常常会出现总线错误,通常是由于共享文件存储空间大小引起的。如,400字节大小的文件,在建立映射区时offset4096字节,则会报出总线错误。

5、munmap传入的地址一定是mmap的返回地址。坚决杜绝指针++操作。

6、如果文件偏移量必须为4K的整数倍。(因为映射是由mmu完成的,mmu最小单位是4096字节。)

7、mmap创建映射区出错概率非常高,一定要检查返回值,确保映射区建立成功后在进行后续操作。

 

mmap注意事项

原文:https://www.cnblogs.com/promote/p/15335605.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!