在编代码的过程中,我们常常要写很多调试语句来观察代码的运行情况,但是,如果代码很长且输出内容很多的时候,输出的调试内容往往会影响到我们分析输出的结果,这时只要使用宏,就能很好地控制的调试语句的输出与否了,在大型的项目开发中使用的也是这种方法.
实例:
#ifndef DEBUG
#define print_bg()
#else
#define print_bg() printf("%s %d\n",__func__,__LINE__)
#endif
解释:如果没有定义DEBUG,那么print_bg()则为空,也就是,而当DEBUG有定义的时候,print_bg()替代为一个输出语句,输出当前的函数和当前的行。所以,若我们想要调试语句都输出内容,只需要在代码的开头加上宏定义#define DEBUG,这时也就相当于定义了DEBUG,在大项目中也就是设定为了调试的版本,所以这是会有调试的结果输出,而当我们删除宏定义#define DEBUG,这时也就是DEBUG没有被定义了,所以print_bg()替换为空。所以,我们只需要在需要调试的地方插入print_bg();也就可以实现调试语句的有效管理了。
WeChat:ShalomLin QQ:373381362