断言

断言:

使用断言调试某种情况,可以在某些情况下打印或者特殊处理,相当于高级的异常处理,或者判断是否具有某项功能

简单的使用assert(express)既可以

更多时候是自己写一些灵活的断言:

#undef _EXAM_ASSERT_TEST_ //关闭断言

#define _EXAM_ASSERT_TEST_ //开启断言

#ifdef _EXAM_ASSERT_TEST_ //若使用断言测试

void exam_assert(char * file_name,unsigned int line_no)

{

 printf(" [EXAM]Assert faillded:%s,line %u ",file_name,line_no);

abort();

}

  #define EXAM_ASSERT(condition)  do{if(condition) NULL;   else exam_assert(__FILE__,__LINE__);}while(0)

#else

   #define EXAM_ASSERT(condition) NULL

#endif

原文地址:https://www.cnblogs.com/beijixing135132/p/3254028.html