学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 计算机软件及应用 > 浅析C语言中宏定义的使用

浅析C语言中宏定义的使用

在程序调试时,我们经常需要输出一些调试信息,当调试完毕后,就不再需要使用了。那怎么快速的在调试状态和发布状态切换呢?通常我们使用预编译加宏定义来处理这个问题,例如:

#ifdef DEBUG
调试代码
#endif

如果我们使用printf来显示一些调试信息,那么每个地方都加上#ifdef和#endif就很麻烦了。我们可以定义一个DbgPrintf的函数来专门处理这些事情,只在DbgPrintf函数内放上#ifdef和#endif就行了。但是这样代码在运行时,还是有调用一次函数的,浪费了时间。那么可不可以利用宏定义,实现完全没有编译代码产生的宏呢?
可以尝试下面的宏代码:

#ifdef DEBUG
#define DbgPrintf printf
#else
#define DbgPrintf /\
/DbgPrintf
#endif

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



主要是因为有些编译器它不支持不定长参数宏定义,而printf函数刚好又是一个不定长参数的,所以定义为空宏的办法不好搞,才想出了这个一个把宏变成“//”注释的办法。另外还可以使用
//#define DEBUG
#ifdef DEBUG
#define DBG(CODE) CODE
#else
#define DBG(CODE)
#endif

就是写代码的时候,对于调试信息加上DBG,稍微麻烦点,例如

DBG(printf("%d",x);)

这样就不会出什么问题了,而且还可以在里面写很多行代码。

第1页

TOP相关主题

  • c语言宏定义
  • c语言宏定义函数
  • c语言中的宏定义
  • c语言中宏定义
  • c语言宏定义字符串
  • c语言宏定义格式
  • c语言的宏定义
  • c语言宏定义数组

我要评论

相关文档

  • C语言中宏定义的用法与意义

    C语言中宏定义的用法与意义_电子/电路_工程科技_专业资料。C语言 宏定义C 语言宏定义技巧(常用宏定义) 写好 C 语言,漂亮的宏定义很重要,使用宏定义可以防止出错...

  • C语言中的宏定义

    http://dragonw.blog.hexun.com/24994073_d.html C 语言中的宏定义 14.3 宏定义 我们从第 2 章以来使用的宏被称为简单的宏,它们没有参数。预编译器也支 ...

  • C语言宏定义使用技巧编程技术

    写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义…… 1,防止一个头文件被重复包含...

  • C语言宏定义使用技巧[1]

    C 语言宏定义使用技巧写好 C 语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一 些成熟软件中常用得宏定义。。。...

  • C语言宏定义使用技巧

    写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。 1,防止一个头文件被重复包...

  • C语言宏定义详解

    C 语言的宏定义 写好 C 语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高 可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得 宏定义: 1,防止...

  • C语言中宏定义技巧

    C语言中宏定义技巧_IT/计算机_专业资料。C 语言宏定义方法总结 语言宏定义方法总结写好 C 语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性...

  • C语言里常用的宏定义

    C语言里常用的宏定义_计算机软件及应用_IT/计算机_专业资料。01: 防止一个头文件...时间用字符串表示,其形式为: 分:秒 __STDC__ 宏指令的意义是编译时定义的...

  • C语言宏定义的使用小结

    C语言宏定义的使用小结_IT/计算机_专业资料。C语言宏定义的使用小结2011-01-18 09:43:52 分类: 默认分类 标签:无 字号大中小 订阅 . 1。防止一个头文...

  • C语言宏定义使用技巧

    C 语言宏定义使用技巧写好 C 语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方 便性等等。下面列举一些成熟软件中常用得宏定义。。。 ...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部