debug 宏

toadzw 2010-08-29 07:22:55
请问一下,debug宏,要求在debug时输出信息,而在非debug时,也就是发行的时候不输出这些信息的宏怎么写的啊
...全文
477 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
libinfei8848 2010-08-29
  • 打赏
  • 举报
回复
宏是自己在编译选项里面自己设定的,就像楼上说的
编译时加上-DDEBUG就执行上面的语句,不加-DDEBUG就不执行。
aozhi 2010-08-29
  • 打赏
  • 举报
回复
#ifdef _DEBUG
printf("debuggin...");
#endif

比如在gcc中,编译时加上-DDEBUG就执行上面的语句,不加-DDEBUG就不执行。
当然也可以把DEBUG改称别的什么单词。
qdurenhongcai 2010-08-29
  • 打赏
  • 举报
回复
我想楼主是不理解DEBUG宏吧。
程序编译时可以把宏编译进程序,-D选项,这个要不了解去查下资料吧

然后在代码中写上
#ifdef 编译进的宏名
// 这里就是输出信息的地方,如果没有该编译宏就不输出
#endif

我想说的是并非只是_DEBUG 其实任意合法的宏都行,一般用DEBUG,因为这个名字最贴近实际。
林疯子 2010-08-29
  • 打赏
  • 举报
回复
#ifdef _DEBUG
//这里面是你想按什么方式输出信息
#endif

例如:
#ifndef API_DEBUG
#define API_DEBUG(fmt,args...) printf ("current pos : file (%s) , function(%s) ,line (%d)\n " fmt, __FILE__, __FUNCTION__, __LINE__, ## args)
#endif
老邓 2010-08-29
  • 打赏
  • 举报
回复
TRACE
DebugOutputString
ATLTRACE
ATLTRACE2
...
arong1234 2010-08-29
  • 打赏
  • 举报
回复
不同程序里的方法是不一样的,这要看你编译器是什么,工程类型是什么等
guoxuqu 2010-08-29
  • 打赏
  • 举报
回复
#ifdef _DEBUG
//这里面输出信息
#endif

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧