一杯清酒邀明月
天下本无事,庸人扰之而烦耳。

原因:

  由于系统分配给一个进程的栈空间是一定的,当一个.cpp文件中的栈空间大于系统为该进程所分配的栈空间时,就会报栈溢出错误。

解决方法:
方法一:动态分配内存
  不要静态分配内存,用new或malloc来动态创建,从堆中分配内存,因为堆的空间足够大。但是要记得使用free或delete手动释放内存,否则会造成内存泄漏。

方法二:修改Visual Stdio Stack 默认设置
  操作步骤:【项目】->【属性】->【链接器】->【系统】->【堆栈保留大小】/【堆栈提交大小】

 关于堆栈保留大小和堆栈提交大小的缺省值为:

 所以将这两个选项的值改大一点即可。

 然后点击应用,确定,就可以了。

posted on 2024-01-30 15:14  一杯清酒邀明月  阅读(714)  评论(0编辑  收藏  举报