我定义了一个 PRINTF 宏,如下所示:
#if(PRINTF_VERSION & PRINTF_DISABLE)
#define CYPRINTF
#else
#define CYPRINTF printf
#endif
但是当打印被禁用时,我收到以下警告:
warning: statement with no effect
我尝试了以下解决方案,它适用于 GCC 编译器,但不能适用于不支持可变参数 MACRO 的编译器。
#if(PRINTF_VERSION & PRINTF_DISABLE)
#define CYPRINTF(format, ...)
#else
#define CYPRINTF printf
#endif
如何更改非日志记录宏以不发出警告?
笔记:
- 我不想添加编译标志
-Wunused-value
。 - 我不想使用可变参数 MACRO。
- 禁用 printf 时,应删除所有代码以避免影响系统性能。