就业数据资源平台
当前位置:首页 > PC技术
win32下使用内存映射文件

  映射文件把虚拟可寻址空间映射到文件上。整个文件就可以很容易的访问,就像它在内存中一样。但是它实质还是在硬盘中,只是需要的时候载入需要的部分到内存,这样可以节约物理内存的使用。windows 使用 这个来加载EXE和DLL,所以这个因该是高效的。windows下默认的虚拟内存页最小是512KB,所以对512KB以下的文件使用就是多余的低效的。
  按照以下步骤使用
  1. 调用CreateFile打开您想要映射的文件。
  2. 调用CreateFileMapping,其中要求传入先前CreateFile返回的句柄,该函数生成一个建立在CreateFile函数创建的文件对象基础上的内存映射对象。
  3. 调用MapViewOfFile函数映射整个文件的一个区域或者整个文件到内存。该函数返回指向映射到内存的第一个字节的指针。
  4. 用该指针来读写文件。
  5. 调用UnmapViewOfFile来解除文件映射。
  6. 调用CloseHandle来关闭内存映射文件。注意必须传入内存映射文件的句柄。
  7. 调用CloseHandle来关闭文件。注意必须传入由CreateFile创建的文件的句柄。
  /////////////////////////////////////////////
  //为了简单 省略错误检查
  //建一个test.txt的文本文件做实验
  //这里只演示读取操作
  //win32 console 程序
  //winXP+vc6
  //write by DKink
就业数据资源平台