2011年7月17日日曜日

assert機能 C言語

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;

}



0 件のコメント:

コメントを投稿