一部の言語またはプラットフォームではスタックのサイズが固定されていないため、オーバーフローしにくいですか? UNIX で C を使用したことを覚えています。スタックはオーバーフローしにくいものでしたが、Win 3.1 の時代には、スタックは非常に簡単にオーバーフローしました。
質問する
1037 次
3 に答える
2
「スタック」とは古いスタックを意味する場合、ほとんどの言語はそうです。Javaには、メモリによってのみ制限されるスタッククラスがあります。おそらくあなたはコールスタックを意味します、その場合私が考えることができる最大の例はスタックレスPythonです、それは私の理解では、Pythonコードのコールスタックとして純粋なPythonメモリ制限スタック(Javaのような)を使用しますCのコールスタックを使用するよりも。
于 2009-05-29T04:58:20.663 に答える
1
これは、実践的な問題と理論的な問題です。Lispインタプリタのスタックは、使用可能なメモリによってのみ制限されます
末尾再帰を実装するスキームやその他の言語では、末尾再帰関数は無限スタックを持ちます
于 2009-05-29T04:57:51.507 に答える
0
Mac システム 6、7、および 8 には、人為的な制限なしに成長できるコール スタックがありました。
また、スタックとヒープの衝突を検出する方法が保証されていないため、あらゆる種類の問題に巻き込まれる可能性があります...
于 2009-05-29T13:28:39.643 に答える