开发调试的过程中,为了发现快速定位错误,往往要添加assert语句,开发完成之后,为了保持软件的稳定性,希望这些语句不再起作用,下面是一个简单的方法:
在assert.h头文件中有语句:
#ifdef NDEBUG #define assert(e) ((void)0)
即如果有宏定义 NDEBUG,则用((void)0)替换assert(e),而((void)0)是不执行该语句的意思。
所以,只需在不想使assert起作用的文件头部定义NDEBUG宏,
#define NDEBUG
然后还要包含头文件assert.h,
#include <assert.h>
即可。
这样即使你assert(0),也不会报错了。