Какой язык/платформа не имеет фиксированного размера стека?

Есть ли на каком-то языке или платформе фиксированный размер стека и поэтому непросто переполнить? Я помню, что с помощью C в UNIX стек был сложным переполнением, а еще во времена Win 3.1, стек был очень легко переполнен.

Ответ 1

Если по "стеку" вы имеете в виду любой старый стек, большинство языков - Java имеет stack класс, ограниченный только памятью, Скорее всего, вы имеете в виду стек вызовов, и в этом случае самым большим примером, который я могу придумать, является Stackless Python, который, на мой взгляд, использует (например, Java) в качестве стека вызовов для кода Python, а не с использованием стека вызовов C.

Ответ 2

это вопрос практического и теоретического. стек интерпретатора lisp ограничен только доступной памятью

в схеме и других языках, реализующих хвостовую рекурсию, хвостовая рекурсивная функция будет иметь бесконечный стек

Ответ 3

Mac Systems 6, 7 и 8 имели стеки вызовов, которые могли расти без искусственного ограничения.

У него также нет гарантированного способа обнаружить столкновение с кучей-кучей и может вызвать у вас всевозможные проблемы...