简介:
内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,只是内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非系统的页文件,而且在对该文件进行操作之前必须首先对文件进行映射,就如同将整个文件从磁盘加载到内存。由此可以看出,使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。另外,实际工程中的系统往往需要在多个进程之间共享数据,如果数据量小,处理方法是灵活多变的,如果共享数据容量巨大,那么就需要借助于内存映射文件来进行。实际上,内存映射文件正是解决本地多个进程间数据共享的最有效方法。
内存映射文件(memory-mapped file)能让你创建和修改那些大到无法读入内存的文件。有了内存映射文件,你就可以认为文件已经全部读进了内存,然后把它当成一个非常大的数组来访问了。这种解决思路能大大简化修改文件的代码。
http://www.360doc.com/content/13/0502/23/7669533_282552666.shtml
相关推荐
利用内存映射文件技术实现进程间通信,自pudn程序员联合开发网下载
通过使用“内存映射文件”,实现内存共享 代码包含如何定义共享的内存结构、如何创建共享内存映射文件、如何多程序调用共享内存映射文件、如何由非创建方程序来释放共享内存映射文件
我对内存映射文件的整理,摘自互联网呢,很有用的学习资料,你值得拥有
用内存映射文件实现的共享内存封装类。 实现了数据读写互斥。
文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类...目前,对于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的,本文下面将针对这种Windows核心编程技术展开讨论。
vc 内存映射文件.doc
8.4.2 使用内存映射文件读BMP文件的例子
内存映射文件,是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数 (CreateFileMapping)。内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将...
Visual C++ .NET环境下采用内存映射文件设计超大文件数据编辑器
本实例中定义了STL文件中的基本数据结构,采用普通文件读取和内存映射文件读取两种方式,并对二者效率进行对比
本文介绍利用内存映射文件修改大文件:在大文件内存前加入一段数据,若要使用内存映射文件,必须执行下列操作步骤: 1.创建或打开一个文件内核对象,该对象用于标识磁盘上你想用作内存映射文件的文件; 2.创建一个文件...
基于内存映射文件技术的海量影像数据快速读取方法
通过.net 4.0中的新类库使用内存映射文件
6.如何使用内存映射文件实现多个程序间互斥运行?(Visual C++编程 源代码)6.如何使用内存映射文件实现多个程序间互斥运行?(Visual C++编程 源代码)6.如何使用内存映射文件实现多个程序间互斥运行?(Visual C++...
文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类...目前,对于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的,本文下面将针对这种Windows核心编程技术展开讨论。
关于内存映射文件读写文件的方法,大家学习了解一下
随着信息技术和传感器技术的飞速发展,使得遥感图像的数据量呈几何级数的递增,而传统的利用文件指针来读取文件的方法,只能正确读取2GB以下的数据。针对此种情况,提出了新方法,并分析了其关键技术,用VC 给出了...
采用内存映射文件的方法处理大文件,快速有效的文件处理方式。
使用内存映射文件加快文件操作速度VB技术很实用的源码应网友要求,重新整理了此源码,没有的抓紧下载啊,