サブルーチンを呼び出したときに、コールスタックに積まれる情報のまとまりのことです。
プログラムの実行時、サブルーチン(関数やメソッドなど)を呼び出すたび、戻り先のメモリアドレス(リターンアドレス)、戻り値や引数、(静的変数でない)ローカル変数のためのメモリ領域といった情報が、コールスタックと呼ばれる場所に格納(ワインド)されます。この情報のまとまりがスタックフレームです。なお、サブルーチンから抜け出すときに、この情報はコールスタックから取り除かれます(アンワインド)。
サブルーチンの引数やローカル変数の個数や型は異なるため、スタックフレームの大きさも一定ではありません。
スタックフレームにアクセスするために、コールスタックの最上段の位置をあらわすスタックポインタを使ったり、スタックフレーム内の特定の情報がある位置をあらわすフレームポインタを使ったりします。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |