GlobalAlloc
HeapAlloc
malloc
new
VirtualAlloc
谢谢大家,我正在学习windows的内存管理.

解决方案 »

  1.   

    GlobalAlloc在堆上申请内存,这个堆不区分全局和本地,访问速度慢,在dde开发\剪贴板\ole中使用比较多.一般推荐使用HeapAlloc代替
    HeapAlloc在堆上申请一段内存,申请后不可移动,因此容易产生内存碎片,98上超过2m会影响性能
    VirtualAlloc在虚拟地址空间申请内存,如果不指定MEM_RESET标记,申请的内存自动初始化为0
    VirtualAllocEx可以给别的进程申请空间malloc申请的空间至少是你指定的空间,由于内存对齐的原因,有可能比你期望的要多一点空间
    new动态为一个或多个对象申请空间,但不可以给函数申请空间
    自己查msdn
      

  2.   

    malloc和new是在堆上申请内存还是在虚拟地址空间申请内存堆和虚拟地址空间有什么区别,实在不懂....哎
      

  3.   

    搂主去看看 Windows核心编程 关于内存管理的部分 讲的比较详细