当我声明大小为4096 * 1024
的大型数组时,就会发生这种情况First-chance exception at 0x01382e97 in nsfclient.exe: 0xC00000FD: Stack overflow.
Unhandled exception at 0x01382e97 in nsfclient.exe: 0xC00000FD: Stack overflow.
如何在Visual Studio中声明大数组?
答案 0 :(得分:9)
您应该明确增加堆栈大小,以便能够在堆栈上存储更大的数组。据我记得,这是使用/F
选项完成的。
另一种选择是使用动态数组(使用malloc
或new
分配)。
/stack
选项完成的。也可以通过右键单击project-> properties-> linker->系统以及setting stack commit
和stack reserve size
来设置此选项。
答案 1 :(得分:4)
你没有显示任何代码,但我认为你是在堆栈上声明你的数组。尝试在堆上声明它(使用malloc
)。请确保稍后free
。
char* bigArray = malloc(LARGE_SIZE);
/* use bigArray */
free(bigArray);