TRACE在MFC里使用

TRACE   宏有点象我们以前在C语言中用的Printf函数,使程序在运行过程中输出一些调试信息,使我们能了解程序的一些状态。在Output中可以查看到结果。

但有一点不同的是:TRACE   宏只有在调试状态下才有所输出,而以前用的Printf   函数在任何情况下都有输出。和Printf   函数一样,TRACE函数可以接受多个参数如:  
   
  int   x   =   1;  
  int   y   =   16;  
  float   z   =   32.0;  
  TRACE(   "This   is   a   TRACE   statement/n"   );  
  TRACE(   "The   value   of   x   is   %d/n",   x   );  
  TRACE(   "x   =   %d   and   y   =   %d/n",   x,   y   );  
  TRACE(   "x   =   %d   and   y   =   %x   and   z   =   %f/n",   x,   y,   z   );  
  要注意的是TRACE宏只对Debug   版本的工程产生作用,在Release   版本的工程中,TRACE宏将被忽略。

注意:不要采用TRACE宏一次性输出大批量数据或不间断输出数据,因为这样有可能会时程序运行变得非常缓慢,如:    
   
  void   test_trace_e(void)  
  {  
  char   *pszDeb=new   char[1024*1024];  
   
  TRACE("%s/n",pszDeb);  
  //或者  
  for(int   i=0;i<sizeof(pszDeb);i++)  
  {  
  TRACE("%c/n",pszDeb[i]);  
  }  
  }  
   
  有一点需要注意的是,TRACE宏在只在调试(DEBUG)版本中起作用,而在发行(RELEASE)版本无效,所以不要在TRACE宏中进行对程序状态进行改变的计算或是调用对状态有改变的函数,例如:    
   
  void   yourClass::fun1()  
  {  
  TRACE("%d",++m_iTick);   //m_iTick状态改变  
  TRACE("return   value   =   %d",DoSomething());  
  }  
  void   yourClass:DoSomething()  
  {  
  if(m_szOut   ==   "No")  
  {  
  return   FALSE;  
  }  
  else  
  {  
  m_szOut="Yes";   //状态改变  
  reutrn   TRUE;  
  }  
  }   
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值