文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Stack Overflow

Stack Overflow

时间:2011-03-30  来源:Chjun

产生原因:由于系统分配给程序的栈空间太小,同时当程序静态数据量大时会产生栈溢出问题。

解决方法:

1.可以通过改变默认栈空间来解决

    VC下设置:项目-> 属性-> 链接器-> system-> 堆栈保留大小/堆栈提交大小。

如: 把堆栈的大小已经设置为:

     堆栈保留大小为:100000000;

     堆栈提交大小为:   100000000;

   

    但是栈开辟较大的值,会增加内存的开销和启动时间。

2.不要静态分配,尽量动态分配

   用new,delete动态创建,这是从堆中分配的,堆的空间足够大。千万记得写析构函数delete申请的堆空间。养成“不在栈上定义大数组/大对象”的好习惯非常重要,因为再大的栈也会被撑爆。


相关阅读 更多 +
排行榜 更多 +
打螺丝高手

打螺丝高手

模拟经营 下载
解救火柴人计划安卓版

解救火柴人计划安卓版

体育竞技 下载
鸡生化精英安卓版

鸡生化精英安卓版

飞行射击 下载