Visual Studio C/C++数组大小未处理的异常堆栈溢出

bit*_*bug 6 c visual-studio-2010

可能重复:
什么是堆栈溢出错误?

当我声明大小为4096*1024的大型数组时,就会发生这种情况

First-chance exception at 0x01382e97 in nsfclient.exe: 0xC00000FD: Stack overflow.
Unhandled exception at 0x01382e97 in nsfclient.exe: 0xC00000FD: Stack overflow.
Run Code Online (Sandbox Code Playgroud)

我该怎么做才能在Visual Studio中声明大数组?

izo*_*ica 9

您应该明确增加堆栈大小,以便能够在堆栈上存储更大的数组.据我记得,这是使用/F选项完成的.

另一种选择是使用动态数组(使用malloc或分配new).

编辑(感谢Jefrrey Theobald):您还必须增加链接器中的堆栈大小,这是使用该/stack选项完成的.也可以通过右键单击project-> properties-> linker-> system和setting stack commitand 来设置此选项stack reserve size. 在此输入图像描述