В С++ переполнение стека обычно приводит к неустранимому сбою программы. Для программ, которые должны быть действительно надежными, это неприемлемое поведение, особенно потому, что размер стека ограничен. Несколько вопросов о том, как справиться с этой проблемой.
-
Есть ли способ предотвратить переполнение стека по общей методике. (Масштабируемое, надежное решение, которое включает в себя работу с внешними библиотеками, которые содержат много стека и т.д.)
-
Есть ли способ обработать переполнение стека в случае их возникновения? Предпочтительно, чтобы стек разматывался до тех пор, пока не будет обработчик для решения этой проблемы.
-
Существуют языки, которые имеют потоки с расширяемыми стеками. Возможно ли что-то подобное в С++?
Любые другие полезные комментарии к решению поведения на C++ будут оценены.