美文网首页
C语言 巧用宏定义来调试

C语言 巧用宏定义来调试

作者: guanjianhe | 来源:发表于2017-11-18 21:43 被阅读0次
    #include <stdio.h>
    
    //#define DEBUG
    #ifdef DEBUG
    #define DBG(CODE) CODE
    #else
    #define DBG(CODE)
    #endif
    
    
    #ifdef DEBUG
    #define DbgPrintf printf
    #else
    #define DbgPrintf /\
    /DbgPrintf
    #endif
    
    int main()
    {       
        DBG(printf("DBG\n");)
        DbgPrintf("DbgPrintf");
        return 0;   
    } 
    
    上面代码很简单,只要有学过C语言大家都懂,下面分析下这两行宏定义

    #define DbgPrintf /\
    /DbgPrintf

    这个宏定义实际上是将“DbgPrintf”定义成了“//DbgPrintf”,由于续行符的作用,#define定义时不会发现注释符“//”,但是在展开到代码之后,就成了注释符“//”了。也就是说,如果你原来的代码是DbgPrintf("%d",x);,经过这个宏展开后成了//DbgPrintf("%d",x);,相当于自动在前面加了注释符“//”。要注意的是续行符下一行的“/”一定要顶格写,否则就不是“//”了。另外,这个宏只能单独一行使用,因为它将该行后面的代码都注释掉了。

    相关文章

      网友评论

          本文标题:C语言 巧用宏定义来调试

          本文链接:https://www.haomeiwen.com/subject/wmyyvxtx.html