assert機能 C言語
-------------------------------------------
#include <stdio.h>
#if 0 /* アサート機能を無効にしたい場合はNDEBUGを定義する */
#define NDEBUG
#endif
#include <assert.h>
int main()
{
int a;
a = 99;
assert(a < 100);
printf("[OK]\n");
a = 101;
assert(a < 100);
/*printf("[OK]\n");*/
return 0;
}
--------------------------------------------------------------------------------------
#ifndef MY_ASSERT_H_
#define MY_ASSERT_H_
#ifndef MY_NDEBUG
/*#define myassert(expr) ((expr) ? 0: error_handler(__FILE__, __LINE__))*/
#define myassert(expr) ((expr) ? 0: printf("[ASSERT] %s(%d)\n", __FILE__, __LINE__))
#else
#define myassert(expr) /* none */
#endif
#endif
#include <stdio.h>
#if 0 /* アサート機能を無効にしたい場合はMY_NDEBUGを定義する */
#define MY_NDEBUG
#endif
#include "./myassert.h"
int main()
{
int a;
a = 99;
myassert(a < 100);
printf("[OK]\n");
a = 101;
myassert(a < 100);
/*printf("[OK]\n");*/
return 0;
}
2011年7月17日日曜日
assert機能 C言語
2011年7月5日火曜日
アサート機能 assert
#include <stdio.h>
/*#define NDEBUG */ /* アサート機能を無効にしたい場合はNDEBUGを定義する */
#include <assert.h>
int main()
{
int a;
a = 100;
assert(a < 100);
printf("[OK]\n");
return 0;
}
実行例
$ ./myassert
myassert: myassert.c:13: main: Assertion `a < 100' failed.
Abort
登録:
投稿 (Atom)