##### LibCross Library - デバッグ関数

# _ASSERT

ASSERTの出力

書式

> `int _ASSERT( nFlag )
> int nFlag
> `

引数

> nFlag | ASSERT発行フラグ

戻り値

> 常に0

解説

> 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_ */
> }

_ASSERT

COPYRIGHT © SEGA ENTERPRISES, LTD., 1998-2000