以C语言为例,调试的时候总是要加入很多printf信息,但测试的时候又希望关闭这些信息,老是手动注释行觉得很麻烦,有没有好的全局print debug的参考设计
c linux编程
#ifdef DEBUG #define PRINTF printf #else #define PRINTF #endif
然后你可以用 PRINTF 代替 printf . 并通过 #define DEBUG 和 #undef DEBUG 开关log.
PRINTF
printf
#define DEBUG
#undef DEBUG
我看到的代码大部分是这么实现 定义一个函数,用于打印debug日志
然后在这个函数里面判断是否开启了debug模式 开启了就输出 没开启就直接返回
使用一些日志组件,比如glog
可以使用条件编译来实现 在头文件中定义#define DEBUG
当打印调试信息时:
#ifdef DEBUG printf("xxx"); #endif
关闭信息时,只需要注释掉#define DEBUG即可
socket listen数
判断一个句柄【open时】是w+还是a+
问一下linux下的effective user id 和 real user id 有什么区别?
僵死进程是怎么被回收的?
当dup2俩参数分别为stdin stdout会发生什么
codeviz无法显示对运行时回调函数的调用分支