怎样优雅地设置print debug开关


以C语言为例,调试的时候总是要加入很多printf信息,但测试的时候又希望关闭这些信息,老是手动注释行觉得很麻烦,有没有好的全局print debug的参考设计

c linux编程

小野妹汁。 10 years, 2 months ago

 #ifdef DEBUG
    #define PRINTF printf
#else
    #define PRINTF
#endif

然后你可以用 PRINTF 代替 printf .
并通过 #define DEBUG #undef DEBUG 开关log.

刚大木附体 answered 10 years, 2 months ago

我看到的代码大部分是这么实现
定义一个函数,用于打印debug日志

然后在这个函数里面判断是否开启了debug模式
开启了就输出
没开启就直接返回

AiOtuka answered 10 years, 2 months ago

使用一些日志组件,比如glog

燃烧中的宅男 answered 10 years, 2 months ago

可以使用条件编译来实现
在头文件中定义#define DEBUG

当打印调试信息时:


 #ifdef DEBUG
printf("xxx");
#endif

关闭信息时,只需要注释掉#define DEBUG即可

四叶草场主 answered 10 years, 2 months ago

Your Answer