ヒープとスタックの違いがよくわからないことを指摘している可能性のあるコードを実行しています。以下にコード例をいくつか示します。ここでは、スタックまたは 1234567 要素のヒープで配列を宣言しています。どちらも機能します。
int main(int argc, char** argv){
int N = 1234567;
int A[N];
//int* A = new int[N];
}
しかし、N を 12345678 とすると、int A[N] でセグ フォールトが発生しますが、ヒープ宣言は引き続き正常に機能します。(問題があれば g++ O3 -std=c++0x を使用しています)。これは何の狂気ですか?スタックには (かなり小さい) 配列サイズの制限がありますか?