2011.10.09 Sunday
ローカル変数とスタックオーバーフロー
アセンブリ言語においてローカル変数を実現する方法を勉強した。
スタック領域を一時的にローカル変数用の領域として確保する方法だ。
ローカル変数用の領域はスタック領域に作られるので大きすぎる配列などを用意すると
領域をオーバーしてしまう。
また、再帰が長く続きすぎるとその度にローカル変数用の領域が大きくなっていくので
結局領域をオーバーする。
これをスタックオーバーフローという。
自作プログラムで時々みたエラーが具体的にどう発生しているのかわかって有意義だった。
スタック領域を一時的にローカル変数用の領域として確保する方法だ。
ローカル変数用の領域はスタック領域に作られるので大きすぎる配列などを用意すると
領域をオーバーしてしまう。
また、再帰が長く続きすぎるとその度にローカル変数用の領域が大きくなっていくので
結局領域をオーバーする。
これをスタックオーバーフローという。
自作プログラムで時々みたエラーが具体的にどう発生しているのかわかって有意義だった。