youngyt
驱动牛犊
驱动牛犊
  • 注册日期2003-11-23
  • 最后登录2006-12-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2030回复:4

为何用FREE环境编译后的驱动DbgPrint信息尤在?

楼主#
更多 发布于:2004-05-12 14:59
如题,好奇怪啊。我的语句是DbgPrint而不是那个宏DBGPRINT,有关系吗?
bingjie
驱动小牛
驱动小牛
  • 注册日期2001-08-15
  • 最后登录2007-11-29
  • 粉丝0
  • 关注0
  • 积分36分
  • 威望5点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-12 15:11
Dbgprint函数并不是只有在DEBUG模式下工作,它总是把格式化后的数据输出到系统调试信息区。如果你要想在Free模式下不输出信息,那你应该使用系统宏或自己定义宏,如
#if DBG
#define TRACE DbgPrint
#else
#define TRACE
#endif
youngyt
驱动牛犊
驱动牛犊
  • 注册日期2003-11-23
  • 最后登录2006-12-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-05-12 15:43
Dbgprint函数并不是只有在DEBUG模式下工作,它总是把格式化后的数据输出到系统调试信息区。如果你要想在Free模式下不输出信息,那你应该使用系统宏或自己定义宏,如
#if DBG
#define TRACE DbgPrint
#else
#define TRACE
#endif


那么请问:DBG这个宏在Free模式下编译是undefine的罗?
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2004-05-12 17:50
checked下是#define DBG=1
free是#define DBG=0
不是没有define,呵呵

没见是#if DBG而不是#ifdefine DBG吗? ;)

可以用KdPrint宏呀,不过要多个(),如:
KdPrint((\"我xxx\"));
youngyt
驱动牛犊
驱动牛犊
  • 注册日期2003-11-23
  • 最后登录2006-12-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-05-12 20:37
arthurtu 老大毫不留情地抢了5分走~~~~~
游客

返回顶部