赵巷卫生院:关于VC++申请大容量内存的问题

来源:百度文库 编辑:神马品牌网 时间:2024/05/05 05:54:47
我用VC++6,用char定义数组,1MB的数组可以申请,10MB程序就崩溃了,另外,定义CStringArray也崩溃,怎么回事?

呵呵,在win32平台下,堆栈空间是有限的,如果你定义局部变量数组,容易造成堆栈溢出。解决方法有两个:用new动态分配,或者定义为静态的数组。

new在heap中分配空间,heap空间也是有限的,如果太大,new也会失败,这时你只能直接使用API函数直接分配虚拟内存。