根据Msdn:
内存映射文件使程序员能够使用极大的工作 文件,因为内存可以同时管理,他们允许 完整,随机访问文件而无需寻求
问题:
Memory Mappe File的整个原理是写/读字节,并按位置和偏移创建视图。
“不需要寻求”是什么意思?
我必须知道开始和结束(偏移)才能读取文件。
所以寻求确实存在!
我在这个巨大的字节数组中寻找......
我缺少什么?
答案 0 :(得分:3)
使用内存映射文件时,您基本上会获得一个指向内存块的指针,并将其作为某种类型的数组进行访问。然后访问文件中的特定位置是基于索引和/或基于偏移的对存储器的访问。操作系统无形地管理所需的搜索。
答案 1 :(得分:2)
MMF具有随机访问权限,而普通文件则存在1个读取或写入的特定点。
使用偏移量(和指针等)与在流中搜索不同。
我必须知道开始和结束(偏移)才能读取文件
您没有'读取文件',您访问内存并需要地址,而不是流位置。
答案 2 :(得分:1)
MMF是实际“映射”到虚拟内存空间的文件,因此您可以将其视为与Array相关的(非常通用的比较)。通过访问该文件的块来处理非常大的文件时,它很舒服(如果不是说只有可能)解决方案。我想说,可能是,每个视频编辑软件都使用这种技术。别无他法。