社区讨论
关于调试,玄关
学术版参与者 2已保存回复 1
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 1 条
- 当前快照
- 1 份
- 快照标识符
- @mihaoiyv
- 此快照首次捕获于
- 2025/11/27 18:32 3 个月前
- 此快照最后确认于
- 2025/11/28 20:35 3 个月前
我的缺省源里有:
CPP#ifdef LOCAL
#define debug(...) fprintf(stderr, __VA_ARGS__)
#define printf(...) fprintf(stderr, __VA_ARGS__)
#else
#define debug(...)
#define printf(...)
#endif
这样相当于本地调试时会在 stderr 输出。
我想要让在没有 define LOCAL 的情况下忽略 debug 的所有语句,按照上面的写法可能会 CE(如
a+=b, debug("b:%d\n", b);),如果 define debug(...) 1 又会一堆 warning,有没有好的解决办法。P.S. 最好能够让编译器自动忽略调试语句(即比如我写了个 for 用于输出,会直接忽略掉这个 for)
回复
共 1 条回复,欢迎继续交流。
正在加载回复...