未分類
春期
エンベデッドシステムスペシャリスト 2019年 春期 問21
21 / 25
C言語で作成されたプログラム全体で使用するスタックフレームのサイズが、確 保したサイズ内に収まっていることを検証したい。各関数が使用するスタックフレ ームのサイズ情報に加え、必要となる情報はどれか。
正解と解説
表示する
正解 ウ
各関数の呼出し関係(呼出しツリー)
プログラム全体で使うスタックフレームの最大サイズを求めるには、各関数のフレームサイズに加え、どの関数がどの順で呼ばれるかを示す呼出し関係(呼出しツリー)が必要。最も深い呼出し経路のフレーム合計が最大使用量になるため。レジスタ退避やローカル変数サイズは各関数フレームに含まれ、グローバル変数はスタック外。