目次:
定義-スタックフレームの意味
スタックフレームは、一部のプログラミング言語で一時変数を生成および削除するために使用されるメモリ管理手法です。 つまり、サブプログラムの呼び出しに関連するスタック上のすべての情報のコレクションと考えることができます。 スタックフレームは、ランタイムプロセス中にのみ存在します。 スタックフレームは、プログラミング言語がサブルーチンの再帰機能をサポートするのに役立ちます。
アクティベーションフレームまたはアクティベーションレコードとも呼ばれるスタックフレーム。
TechopediaがStack Frameを説明
スタックフレームは次のもので構成されます。
- ローカル変数
- 復元が必要なサブプログラムによって変更されたレジスタの保存されたコピー
- 引数パラメーター
- 差出人住所
個々のスタックフレームには、実際のパラメーター、一時的な場所、ローカル変数、呼び出しサブルーチン情報のためのスペースがあります。 これらのパラメーター、場所、または変数を呼び出す特定のルーチンの実行が完了すると、関連するスタックフレームがスタックから削除されます。 ほとんどの場合、スタックフレーム内の情報のパッキングの順序は、プログラミング言語の仕様とは無関係です。
スタックフレームの顕著な特徴の1つは、特定のサブプログラムに対して、スタックフレームのサイズが固定されていることです。 プログラミング言語がスタックフレームを使用するには、プログラムカウンターとスレッドが、ベースポインターとスタックポインターの2つのポインターで使用できる必要があります。 ベースポインターは常にフレームの上部を指しますが、スタックポインターはスタックの上部を指します。 プログラムカウンターは、次の実行可能な命令を指すのに役立ちます。 特定のプロシージャのスタックフレームには、特定のプロシージャの状態を保存および復元するためのすべての関連情報が含まれています。
