http://263.csdn.net/edyang/
Download->Source Code->FileCopy

解决方案 »

  1.   

    to edyang:
    FileCopy中没有用到VirtualAlloc呀!只是用到了CreateFileMapping。
      

  2.   

    VirutalAlloc应该是在32位Windows下进行内存分配的标准方法。
    这里需要涉及到虚拟内存管理的概念,因为你在程序中分配了内存以后,不一定系统就直接把它和物理内存相对应,需要Commit以后才真正去找到一块可用的物理内存,这个你最好看一下《Windows核心编程》中关于内存管理的那一章。实际上这个过程还是瞒复杂的。如果你只是简单使用该函数的话,看看MSDN理解该函数相关的参数的具体用法比较好。这实际上也就是为什么Windows能够为每一个进程分配理论上最大有2G内存的原因,是虚拟内存。跟具体进程相关。
      

  3.   

    to littleme741:
    《Windows核心编程》我已看过了,只知道VirtualAlloc是为了分配大对象(>4M)时才使用的,
    小对象用堆(HeapAlloc、new、malloc等等)。他们的具体用法并不难的。也只在书上见过他们的用武之处。
    不知哪为高人在实际项目中用过VirtualAlloc等虚拟内存分配函数?说说体会!