解决方案 »

  1.   

    大文件最好不要用文件影射的方式 
    这样速度并不比ReadFile快
      

  2.   

    如何把一个1G左右的文件读入内存并显示在CListCtrl控件中(来自VC版):http://topic.csdn.net/t/20061023/09/5101395.html
    这个地方有一大段MSDN的相关内容,可惜是英文的!
      

  3.   

    顶东方之珠!
    大文件用内存影射思路是对的,不过复制时,应该建立两个映射,一个是源文件,以只读非共享方式打开并映射,一个是目标文件,以只写非共享方式打开,这样可以将速度提高一倍以上(因为不需要文件锁)。此外,由于映射后会自动创建目标文件,目标文件所占用的扇区与簇已确定,故此时磁盘IO成为了性能的瓶颈,可以使用多线程进行内存复制,线程读写块应考虑内存页对齐和磁头寻址能力,最大化地利用磁盘IO,(根据迅雷等软件的经验,线程数不得超过5个),这样速度还可以提高许多。