7.4.2 <assert.h>

プログラム中に診断機能を付け加えます。

種別

定義名

説明

関数
(マクロ)

assert

プログラム中に診断機能を付け加えます。

 

<assert.h>で定義される診断機能を無効にするためには、<assert.h>を取り込む前にNDEBUGというマクロ名を#define文で定義してください(#define NDEBUG)。

assertというマクロ名に対して#undef文を使用すると、それ以降のassertの呼び出しの効果は保証しません。

 

assert

プログラム中に診断機能を付け加えます。

 

[指定形式]

#include <assert.h>

void assert(long expression) ;

 

[引数]

expression  評価する式

 

[備考]

assertマクロは、expressionが真の時は値を返さずに処理を終了します。expressionが偽の時は、診断情報をコンパイラによって定義された書式で標準エラーファイルに出力し、その後abort関数を呼び出します。

診断情報の中には、パラメータのプログラムテキスト、ソースファイル名、ソース行番号が含まれています。

処理系定義仕様 assert(expression)において、expressionが偽の時メッセージを出力します。

なお、コンパイル時のlangオプションにより表示は変化します。

(1) -lang=c99がないとき(C(C89)、C++、EC++言語の場合):

ASSERTION FAILED:Δ式ΔFILEΔ<ファイル名>,LINEΔ<行番号>

(2) -lang=c99があるとき(C(C99)言語の場合):

ASSERTION FAILED:Δ式ΔFILEΔ<ファイル名>,LINEΔ<行番号>ΔFUNCNAMEΔ<関数名>