日本-日本語 |
|
|
|
OpenVMS マニュアル |
|
HP OpenVMS
|
目次 | 索引 |
assert |
プログラムで実行時診断機能を実相するために使用します。
#include <assert.h>void assert (int expression);
expression
int型の式。
assertを実行したときに,expression が False である (つまり 0 に評価される) 場合は, assertは異常終了した特定の呼び出しに関する情報 ( 引数のテキスト,ソース・ファイルの名前,ソース行番号などで,最後の 2 つはそれぞれ前処理マクロ __FILE__および __LINE__の値 ) を,実装で定義されている形式で標準エラー・ファイルに書き込みます。その後, abort関数を呼び出します。assert関数は次の形式でメッセージを書き込みます。
Assertion failed: expression, file aaa, line nnn
expression が True である ( つまり 0 以外の値に評価される ) 場合や,シグナル SIGABRT が無視されている場合は, assertは値を返しません。
注意
送出される式の一部にヌル文字 ('\0') が含まれている場合は,ヌル文字までのテキスト (ヌル文字を含む) だけが印刷されます。これは,ヌル文字が文字列の出力を終了するからです。
#include assert文より前にプリプロセッサ・ディレクティブ #defineNDEBUG を指定するか,または CC コマンド修飾子 /DEFINE=NDEBUG を指定してコンパイルすると, assert関数は無効になります。
#include <stdio.h> #include <assert.h> main() { printf("Only this and the assert\n"); assert(1 == 2); /* expression is FALSE */ /* abort should be called so the printf will not happen. */ printf("FAIL abort did not execute"); }
目次 | 索引 |
|