程序中定义了大数组或需要很大栈内存时,出现stack overflow 错误的解决方法(vs2008)
原因是vs的默认栈空间的小是1M,如果程序需要的空间超过这个大小就出现Stack Overflow
处理的方法是修改项目属性,调整栈的大小
打开项目属性页对话框
单击“链接器”文件夹(Linker)。
单击“系统”属性页(System)。
修改下列任一属性:
堆栈提交大小(Stack Reserve Size)
堆栈保留大小(Stack Commit Size)
Reserve:栈的总大小
Commit:程序开始的时候系统提供的实际内存
reserve默认值为1MB,最小值为4Byte;commit是保留在虚拟内存的页文件里面,它设置的较
大会使栈开辟较大的值。注意这里设置的Reserve的值一定要大于Commit的值,我想不用我说大家也知道为什么吧。
具体如下图:
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
- 上一篇:没有了
- 下一篇: 利用环境变量向子进程传递一个参数