摘要: 产生原因:由于系统分配给程序的栈空间太小,同时当程序静态数据量大时会产生栈溢出问题。解决方法:1.可以通过改变默认栈空间来解决 VC下设置:项目-> 属性-> 链接器-> system-> 堆栈保留大小/堆栈提交大小。如: 把堆栈的大小已经设置为: 堆栈保留大小为:100000000; 堆栈提交大小为: 100000000; 但是栈开辟较大的值,会增加内存的开销和启动时间。2.不要静态分配,尽量动态分配 用new,delete动态创建,这是从堆中分配的,堆的空间足够大。千万记得写析构函数delete申请的堆空间。养成“不在栈上定义大数组/大对象”的好习惯非常重要,因为再 阅读全文
posted @ 2011-03-30 10:40 Chjun 阅读(1067) 评论(0) 推荐(0) 编辑