当前位置:  技术问答>linux和unix

mmap文件映射的问题

    来源: 互联网  发布时间:2016-07-18

    本文导语:  mmap()是不分配内存的?那么,把文件映射之后,如果被映射的文件被更改了,或者被删除了,mmap()返回的结果还正确可靠么? | 映射的文件 被改了 但是大小没变化  一般没什么问题 ,但...

mmap()是不分配内存的?那么,把文件映射之后,如果被映射的文件被更改了,或者被删除了,mmap()返回的结果还正确可靠么?

|
映射的文件 被改了 但是大小没变化  一般没什么问题 ,但是大小变化了,就得重新映射
删除的话就不用说俄

|


mmap()调用的内核函数为do_mmap(),该函数linux实现续存映射的主要函数。
mmap()将磁盘上的文件内容映射到进程用户空间的虚存区,当进程对该空间进行写操作时才会分配物理内存。

即使被映射的文件被删除或者修改了,之前映射到进程用户空间的内容保持不变。









 ftruncate是将文件的长度改为0,也就是删除文件的中的内容,此时,改变的首先是用户空间中的内容,是对你映射后的内容的修改。

报错的原因是因为你映射时使用了PROT_READ  读的方式!

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 关于mmap的问题
  • 问个mmap和其锁的问题
  • mmap机制的问题
  • Linux下mmap函数的问题
  • mmap共享内存问题?
  • 请问LDD3中的 simple_nopage_mmap 函数的一些问题
  • 有关mmap()的一个问题
  • mmap问题!
  • 关于mmap的一个问题(一) :(user space)
  • mmap()函数使用问题
  • 关于mmap系统调用来访问寄存器的问题
  • 我调用mmap函数有问题,想用erron这个全局变量,可怎么用不起啊。帮我看看吧。拜托给位了。
  • Linux2.6内核mmap的问题! 请高手指教!
  • 请高手相助: mmap 使用问题,程序执行完后吃掉 100M 内存 !
  • 100分求解多线程mmap问题
  • mmap和malloc的区别是什么?
  • mmap使用中的困惑,,,在线等待,,请帮忙,谢谢!
  • 如何写mmap程序
  • 嵌入式LINUX mmap 出错
  • 请问溢出mmap()分配的共享空间要怎么办??
  • mmap()在内存小时的性能
  • 关于2.4.2的mmap()
  • 请教用过mmap的大虾
  • 请问如何查看一个进程中 brk和mmap各自分配的内存空间的大小
  • 高分求助:bigphysareas和mmap的操作在两个不同的版本返回的结果不同
  • ***对FRAMEBUFFER中用到的MMAP的严重质疑****
  • mmap出错,不知是什么原因.
  • mmap后能用strtok或者srtok_r吗?
  • 谁有关于函数mmap()方面的用法实例或者文章?
  • mmap
  • 用mmap的一个小程序,core dump了,大家帮我看看!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3