Обнаружение заполнения стека

При написании кода на C++ я понял, что использование стека для хранения памяти — хорошая идея.

Но недавно я столкнулся с проблемой:

У меня был эксперимент с кодом, который выглядел следующим образом:

void fun(const unsigned int N) {
    float data_1[N*N];
    float data_2[N*N];

    /* Do magic */
}

Код эксплоировался с ошибкой сегментации случайным образом, и я понятия не имел, почему

Это так. оказалось, что проблема заключалась в том, что я пытался хранить вещи, которые были слишком большими в моем стеке, есть ли способ обнаружить это или, по крайней мере, определить, что что-то пошло не так?

6
задан Griwes 18 June 2012 в 09:37
поделиться