TRACE()宏的使用

TRACE()宏通常是用在mfc中的,用于将调试信息输出到vs的输出窗口中(这是关键), 这在使用vs做为开发工具的时候,是很是方便的。
 
然而在开发通常c++程序时,却貌似没法得到这样的便利,其实只要通过几个步骤一样能够实现:
一:#include<atltrace.h>        //此头文件包含ATLTRACE宏,而其实MFC作的就是#define TRACE ATLTRACE
二:使用ATLTRACE("error");
三:包含atl连接库:atlsd.lib ( debug )或者 atls.lib
 
trace详细教程:
   TRACE宏对于VC下程序调试来讲是颇有用的东西,有着相似printf的功能;该宏仅仅在程序的DEBUG版本中出现,当RELEASE的时候该宏就彻底消息了,从而帮助你调式也在RELEASE的时候减小代码量。
使用很是简单,格式以下:
TRACE("DDDDDDDDDDD");
TRACE("wewe%d",333);
一样还存在TRACE0,TRACE1,TRACE2。。。分别对应0,1,2。。个参数
TRACE信息输出到VC IDE环境的输出窗口(该窗口是你编译项目出错提示的哪一个窗口),但仅限于你在VC中运行你的DEBUG版本的程序。
TRACE信息还可使用DEBUGVIEW来捕获到。这种状况下,你不能在VC的IDE环境中运行你的程序,而将BUILD好的DEBUG版本的程序单独运行,这个时候能够在DEBUGVIEW的窗口看到DEBUGVIE格式的输出了。
VC中TRACE的用法有如下四种:
1:
TRACE   ,就是不带动态参数输出字符串,   相似C的printf("输出字符串");
   
2:
TRACE   中的字符串能够带一个参数输出   , 相似C的printf("...%d",变量);


3:
TRACE   能够带两个参数输出,相似C的printf("...%d...%f",变量1,变量2);


4:
TRACE 能够带三个参数输出,相似C的printf("...%d,%d,%d",变量1,变量2,变量3);
TRACE 宏有点象咱们之前在C语言中用的Printf函数,使程序在运行过程当中输出一些调试信息,使咱们能了解程序的一些状态。但有一点不一样的是:


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宏将被忽略。c++

相关文章
相关标签/搜索