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

时间:2013-11-04 18:16:10

标签: c++ stack stack-overflow

我想在堆栈上使用大型数组。但是我继续获得堆栈溢出,虽然我改变了堆栈保留大小。 例如:

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

并在visual studio 2012中:Properties -> Linker -> System -> Stack reserve size: 10000000

可能导致什么原因?

1 个答案:

答案 0 :(得分:5)

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