我想在 arduino 中进行某种详细的调试打印,可以通过标志启用/禁用。例如,我希望能够做类似的事情
#define VERBOSE
#define VERBOSE_PRINT(text) #ifdef VERBOSE Serial.println(text); #endif
稍后在代码中:
VERBOSE_PRINT("Doing something");
如果 VERBOSE 已定义,那么我应该通过串行端口获取内容,如果未定义,则不会编译该代码。不幸的是,这不起作用。我收到错误消息:“错误:'#' 后面没有宏参数”。所以我想知道获得可选编译的打印(或任何相关内容)的最佳方法是什么。当然,我可以手动写出#ifdefs,但我希望它精简,这样它就不会占用大量空间,所以我不必每次想使用它时都写出来。函数内部带有#ifdef 的函数是执行此操作的最佳方法吗?