ASSERTの発行を行います。
引数 nFlag は、ASSERT発行の評価のために用いられます。
引数に与えた演算式の評価結果が、偽(0)のときのみASSERTがホストに発行されます。
ホストはASSERTを受け付けると、ダイアログボックスを表示してユーザーの指示を待ちます。
次の3つの項目から選択してください。
ボタン |
意味 |
Yes |
プログラムを終了させ、CodeScapeの _ASSERT行にカーソルを移動する |
No |
ASSERTを無視し、プログラムの実行を継続する |
Cancel |
ダイアログボックスをキャンセルし、すべてのASSERTを進める |
|
CodeScapeの[Tools]メニューの[Option...]で表示される[Global Options]ダイアログボックスで、
ステータスの表示とセット、およびすべて無視をコントロールすることができます。
コンパイラは、次に続く_ASSERTインストラクションの上でCodeScapeを止めるためのコードを生成します。
以下のサンプルプログラムは _ASSERT行で止めることを確実にするマクロを含んでいます。
また、このプログラムではすべてのASSERT行をいっぺんに無効にするように記載されています。
{
/*
* Macro Redefinition of _ASSERT to ASSERT. This is performed to cause the
* compiler to insert at least one opcode after the jsr _ASSERT has returned
* it also permits the ASSERT code to be included / removed based on a
* compiler define.
*/
#ifdef _DEBUG_BUILD_
/* Since _ASSERT always return zero the expression will only be evaluated once */
#define ASSERT(X) while(_ASSERT(X)){ ; }
#else
#define ASSERT(X)
#endif /* _DEBUG_BUILD_ */
}