check thatディレクティブ
このセクションの内容:
構文
check thatexpression[, "errormsg"];
パラメータ
| ブール値式。 |
| チェックに失敗した場合に出力される文字列。 |
説明
check thatディレクティブを使用して、スタック使用量解析の結果をブロックおよび領域のサイズと比較できます。式がゼロに評価される場合、エラーが出力されます。
以下の追加演算子が使用できます。
| カテゴリ内の任意のコールグラフルート関数で最も深いコールチェーンのスタックの深さ。 |
| カテゴリ内のそれぞれのコールグラフルート関数で最も深いコールチェーンのスタックの深さ合計。 |
| ブロックのサイズ。 |
| その名前のブロックが定義されている場合は |
例
check that maxstack("Program entry")
+ totalstack("interrupt")
+ 1K
<= size(block CSTACK);
check that !(exists(block HEAP)) || size(block HEAP) >= 50, "not enough heap";