内存映射文件误解

本文关键字:误解 文件 映射 内存 | 更新日期: 2023-09-27 18:29:10

根据Msdn:

内存映射文件使程序员能够处理非常大的文件,因为内存可以同时管理,并且它们允许对文件的完全随机访问,无需查找

问题:

内存映射文件的全部原理是写入/读取字节,并根据位置和偏移量创建视图。

"无需寻求"是什么意思?

我必须知道开始和结束(偏移量)才能读取文件。

寻找是存在的!

我确实在这个巨大的字节数组中寻找。。。。

我错过了什么?

内存映射文件误解

使用内存映射文件时,基本上会获得一个指向内存块的指针,并将其作为某种类型的数组进行访问。然后访问文件中的特定位置是对内存的基于索引和/或偏移量的访问。操作系统在背后管理着无形中需要的寻找。

MMF具有随机访问,而普通文件只有一个特定的读写点。

使用偏移量(和指针等)与在流中查找不同。

我必须知道开始和结束(偏移量)才能读取文件

你不"读取文件",你访问内存,需要地址,而不是流位置。

MMF是实际"映射"到虚拟内存空间的文件,因此您可以将其视为Dictionary关于Array的(非常笼统的比较)。当处理非常大的文件时,通过访问该文件的来继续处理,这是一个舒适的(如果不是说只有可能的话)解决方案。我想说,也许,每一个视频编辑软件都使用这项技术。没有其他方法。