增加堆栈保留大小不会防止堆栈溢出

increasing stack reserve size doesn't prevent stack overflow

本文关键字:堆栈 栈溢出 保留 增加      更新时间:2023-10-16

我想在堆栈上使用一个大数组。但是,尽管我更改了堆栈保留大小,但我仍然不断出现堆栈溢出。例如:

int main()
{
    int a[5000000];
    return 0;
}

在Visual Studio 2012中:Properties -> Linker -> System -> Stack reserve size: 10000000

什么原因可能导致它?

int的大小可能是 4 个字节,因此数组的字节数大于元素数。 sizeof(int)*5000000是你需要的。(至少)