最終更新:2019-09-18 (水) 16:23:02 (1675d)  

assert
Top / assert

void assert(int test);

assert.h の中で、マクロとして宣言されています。assert( ) は与えられた条件が、成立しているか調べ、expression の値が0ならば、標準エラー出力( stderr )にメッセージを表示して、abort?( ) を呼び出し、プログラムを異常終了させます。

abortするケース

//ぬるぽチェック
assert(p);
assert( INT_MAX - a >= b );

C言語

  • NDEBUGマクロが定義されていない場合にのみ有効

glibc

  • # define assert(expr)							\
      ((expr)								\
       ? __ASSERT_VOID_CAST (0)						\
       : __assert_fail (__STRING(expr), __FILE__, __LINE__, __ASSERT_FUNCTION))

関連

Java

Node.js/assert