美文网首页
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语言 巧用宏定义来调试

    上面代码很简单,只要有学过C语言大家都懂,下面分析下这两行宏定义 #define DbgPrintf /\/Dbg...

  • iOS [Objective-C] 中的Debug表达式

    表1:预定义的宏和C/C++/Objective-C调试函数 表2:OBjective-C中的调试函数

  • 精解C语言预处理命令(三)之“宏”的用法二

    关于C语言带参数的宏定义中的参数 C语言允许宏带有参数。在宏定义中的参数称为“形式参数”,在宏调用中的参数称为“实...

  • C语言#define宏定义,你真的了解吗?

    在C语言中,我们使用#define来定义宏。在C程序编译的预处理阶段,预处理器会把宏定义的符号替换成指定的文本。 ...

  • C语言宏定义

    1、一般定义 2、条件判断 3、编译时错误信息 4、系统常见自定义宏 5、宏参数的字符串化和宏参数的连接

  • python Debug宏定义

    前言 调试python时,常碰到打印信息需手动删除;且python没有宏定义.依据之前使用C的习惯,定义调试模式,...

  • C语言学习:C语言宏定义

    学C语言很久了,但还是不敢用宏定义,大神喜欢用宏定义。关于宏定义你又了解多少了,下面我们说一下宏定义。 宏定义的概...

  • C语言自定义布尔bool类型

    C语言没有布尔类型,可以采用宏定义创建该类型

  • 编程基础

    C语言 #define定义的宏和const定义的常量有什么区别? defined定义宏的指令,程序在预处理阶段将用...

  • C语言——预处理基本知识

    预处理是C语言特有的功能,如:宏定义、条件编译等等,好处嘛,很多,如程序可读性好、便于修改以及移植与调试等,好处这...

网友评论

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

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