mmap():如果底层文件更改(缩小)会发生什么?
如果您使用 mmap() 内存映射文件,但底层文件的大小会更改为小得多。如果访问从文件中删除的内存偏移量,会发生什么?
If you memory map a file using mmap(), but then the underlying file changes to a much smaller size. What happens if you access a memory offset that was shaved off from the file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
IBM 表示它未定义 http: //publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=%2Fapis%2Fmmap.htm
SingleUnixSpecification 中也有同样的说法: http://pubs.opengroup.org/onlinepubs /7908799/xsh/mmap.html
“未定义”或“未指定”意味着 - 允许操作系统开始格式化磁盘或任何内容。最有可能的是 SIGSEGV 杀死了您的应用程序。
IBM says it is undefined http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=%2Fapis%2Fmmap.htm
The same is said in SingleUnixSpecification: http://pubs.opengroup.org/onlinepubs/7908799/xsh/mmap.html
'undefined' or 'unspecified' means - the OS is allowed to start formatting of disk or anything. Most probable is SIGSEGV-killing your application.