内存分配的问题
用数组:BYTE buffer[819200];
和 malloc(819200);有什么区别?分别用在什么情况下?
望赐教!
问题点数:20、回复次数:5Top
1 楼emmai(WaTaXiWaWaTaXi)回复于 2001-08-29 14:41:10 得分 10
前者是静态定义,后者是动态的
前者的内存在使用结束后不需要手动释放空间,而后者需要free掉。Top
2 楼playlix(相逢一笑)回复于 2001-08-29 14:41:28 得分 10
好象是存放位置不同,malloc是c运行期库函数,好象是在进程堆分配;BYTE buffer[n]是
在函数自己的栈中。 再有默认的线程栈只有1MB, 要想使用如此大的(800多k)空间,最好用VirtualAllocTop
3 楼lixuyu(C++)回复于 2001-08-29 15:16:12 得分 0
malloc(819200)和HeapAlloc()又有什么区别?Top
4 楼lixuyu(C++)回复于 2001-08-29 15:39:52 得分 0
UPTop
5 楼siyo(新生活)回复于 2001-08-29 19:52:05 得分 0
前者在堆栈里分配,后者在heap中分配Top




