При написании кода на C++ я понял, что использование стека для хранения памяти — хорошая идея.
Но недавно я столкнулся с проблемой:
У меня был эксперимент с кодом, который выглядел следующим образом:
void fun(const unsigned int N) {
float data_1[N*N];
float data_2[N*N];
/* Do magic */
}
Код эксплоировался с ошибкой сегментации случайным образом, и я понятия не имел, почему
Это так. оказалось, что проблема заключалась в том, что я пытался хранить вещи, которые были слишком большими в моем стеке, есть ли способ обнаружить это или, по крайней мере, определить, что что-то пошло не так?