不是很明白你的意思,
前一个问题:可以啊,有什么不可以的?
后一个问题:alloc的可以free掉,但是不能free掉一个全局的字符数组。是问这个吗?
随便说说。 

解决方案 »

  1.   

    GlobalAlloc是Windows系统API。直接用GlobalAlloc非常浪费,GlobalAlloc最小分配单元应该是页大小,也就是说4048个字节。
    而C的malloc,C++的new是在GlobalAlloc分配内存的基础上的进一步管理,具有更好的效率。全局变量是在程序编译时确定的固定大小的存储单元。
      

  2.   

    to plato(天天): 不是那样的吧? 
    GlobalAlloc的存在好像只是为了和16位编程兼容,win32下没有单独的全局堆和局部堆,仔细看看msdn中的说明就知道了。
    只是GlobalAlloc返回的Handle不是直接的指针,要得到指针需要用GlobalLock()函数,因为这样得到的内存块可能移动。
      

  3.   

    使用globalalloc()得到handle,再使用globallock()从handle得到指针.