Я пытаюсь выполнить некоторые симуляции и математические операции, которые являются сильно рекурсивными, и в некоторых крайних случаях я переполняю стек вызовов и получаю сигнал EXC_BAD_ACCESS. Невозможно изменить алгоритмы на итеративную форму, поскольку это много устаревшего кода. И ограничение глубины рекурсии было бы бесполезным, потому что использование памяти недетерминировано.
Есть ли способ определить количество доступного стека, чтобы я мог изящно отменить операцию?
Можно ли реализовать тип Stack Canary, который я могу постоянно проверять, не переопределен?