内存映射文件一般用于以下三种不同的目的:
1. 可以使用内存映射文件来访问磁盘上的数据文件,这样就不必对文件进行IO操作,因此就不必对文件内容进行缓存。
2. 系统通过内存映射文件,可以方便的加载和执行可执行文件(.exe)和动态链接库(.dll)文件。这样就可以大大的节省应用程序启动时所需的时间和页文件空间。
3. 可以提供内存映射文件,使在同一台计算机上运行的多个进程可以共享数据资源。内存映射文件已经成为了一台计算机上多个进程之间相互通信的最有效的方法。
建议在软件的开发过程中,如果需要进行大容量的文件读写操作,申请开通大容量的虚拟地址空间,或者需要在几个不同的进程之间通信,最好采用内存映射文件技术。
在wince5.0 中,如果想要打开一个供内存映射技术访问的文件:
1. 首先要调用CreateFileForMapping()打开或创建一个供内存映射技术访问的文件。
2. 通过CreateFileMapping为指定的内存映射文件创建一个文件映射对象。
3. 通过MapViewOfFile将文件对象映射到地址空间。
4. 进行相应的读写操作。
5. 通过UnmapViewofFile结束整个操作。