这是我自己动手写的,主要是参考了《华为代码规范》上的内容。
注意#define用法的各个事项,这里容易出错。
/********************************************** FILE NAME exam_assert.h AUTHOR Ginhom Lau Date 03.15.2011 Place Pohang **********************************************/ #ifndef ASSERT_H_INCLUDED void exam_assert( char * file_name, unsigned int line_no ) { printf( "/n[EXAM]Assert Failed: %s, line %u/n", file_name, line_no ); abort(); } #define EXAM_ASSERT(condition) / if (condition) / { / ; / } / else / { / exam_assert(__FILE__, __LINE__); / } #else #define EXAM_ASSERT(condition) NULL #endif // ASSERT_H_INCLUDED
记得要包含头文件进去。
/********************************************** FILE NAME exam_assert.c AUTHOR Ginhom Lau Date 03.15.2011 Place Pohang **********************************************/ #include "assert.h" int main(void) { EXAM_ASSERT(3 < 2); return 0; }
怎么样?短小精悍哈,基本意思达到了就行。再要什么复杂功能,自己去修改吧!
欢迎评论、留言,共同探讨。
1220

被折叠的 条评论
为什么被折叠?



