红联Linux门户
Linux帮助

freebsd下assert.h的个人理解

发布时间:2007-04-02 00:37:06来源:红联作者:Permanent
#include

#undef assert
#undef _assert // assert.h文件允许多次被加入

#ifdef NDEBUG

#define assert(e) ((void)0) // 等于什么都没执行
#define _assert(e) ((void)0)

#else

#define _assert(e) assert(e)
#define assert(e) ((e) ? (void)0 : __assert(__func__, __FILE__, __LINE__, #e))
// #e 表示把e当作字符串
#endif

__BEGIN_DECLS
void __assert(const char *, const char *, int, const char *);
__END_DECLS


// 以上是个人理解。如有不对,恳请指出。谢谢!
文章评论

共有 0 条评论