有以下程序:
編譯後,沒有錯誤,運行發現錯誤。原因是在棧上分配的空間大小超出了VC規定的棧大小的默認值。
VC默認棧大小是1M。
另有以下程序:
編譯運行沒有錯誤,因爲分配的空間實在靜態存儲區,而不是在棧上分配的。
還有下面程序,也不會出錯。
因爲空間的分配也在靜態存儲區。
另外,在程序中動態分配的空間一般也比在棧上可分配的空間大很多。所以一般情況下都不會導致超出默認情況下空間大小的情況。
爲了使在棧上分配的空間大小能符合實際的要求,我們可以調整VC的默認棧的空間大小。
方法:
依次打開:project->Setting->Link,在Category中選中Output,然後再Reserve中設定堆棧的最大值和commit就可以了。