我正在使用以下宏来打印我在网上找到的调试信息。它工作得很好。但是,我想在调试调用函数 A 的函数 B 时关闭函数 A 的调试打印。我试过#define NDEBUG
function A
#undef NDEBUG
但没有设法抑制函数 A 中的打印。
任何帮助将不胜感激。也欢迎任何有关完成任务的替代方法的建议。
谢谢~RT
#ifdef NDEBUG
/*
If not debugging, DEBUGPRINT NOTHING.
*/
#define DEBUGPRINT2(...)
#define DEBUGPRINT(_fmt,G ...)
#else
/*
Debugging enabled:
*/
#define WHERESTR "[file %s, line %d]: "
#define WHEREARG __FILE__, __LINE__
#define DEBUGPRINT2(...) fprintf(stderr, __VA_ARGS__)
#define DEBUGPRINT(_fmt, ...) DEBUGPRINT2(WHERESTR _fmt, WHEREARG, __VA_ARGS__)
#endif /* NDEBUG */