malloc是C的库函数,new是C++的关键字,GlobalAlloc是Win32下的函数。

解决方案 »

  1.   

    malloc必须指定大小,以BYTE为单位
    new可以根据具体对象的大小自动分配. 
    globalalloc返回句柄,分配空间按8字节对齐.
      

  2.   

    还有释放方法不一样,分别为:free,delete,globalfree
      

  3.   

    malloc、free是CRT(C运行库)中的函数,它用来分配、释放指定大小的内存块new、delete是C++中的操作符,它们除了分配释放内存之外,还会调用相应对象的构造析构函数GlobalAlloc、LocalAlloc是MS在其16位windows平台上使用的分配内存的API
    在目前的32位平台上MS建议使用HeapAlloc等一系列函数。这些函数是操作系统提供的API,只能在Windows平台使用这些函数,当然效率是好的。而前面的
    malloc、new等是C、C++语言的特性,代码是可以跨平台的。