编码规范---c语言之断言

来源:互联网 发布:java中级软件工程师 编辑:程序博客网 时间:2024/05/03 05:19

今天整理编码规范:

http://blog.csdn.net/bigloomy/article/details/6614491  ==》断言讲的很好。


#include <stdio.h>

//#undef  _EXAM_ASSERT_TEST_    //禁用
#define  _EXAM_ASSERT_TEST_   //启用
#ifdef _EXAM_ASSERT_TEST_     //启用断言测试
 void assert_report( const char * file_name, const char * function_name, unsigned int line_no )
{
 printf( "\n[EXAM]Error Report file_name: %s, function_name: %s, line %u\n", 
         file_name, function_name, line_no );

abort();

}
 #define  ASSERT_REPORT( condition )       \
 do{       \
 if ( condition )       \
  NULL;        \
 else         \
  assert_report( __FILE__, __func__, __LINE__ ); \
 }while(0)
 #else // 禁用断言测试 
#define ASSERT_REPORT( condition )  NULL 
#endif /* end of ASSERT */

0 0