按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
情。
在MFC的发布版本中,它仍对参数进行测试,但是当参数为假时,不
弹出诊断信息对话框。
下面这段代码可以让用户对ASSERT和VERIFFY两个宏之间的差别有更
…………………………………………………………Page 636……………………………………………………………
深入的了解,这段代码是在MFC的发布版本中编译的,之所以选择发
布版本是因为在这段代码中两个宏后面的参数都为假,使用发布版本
编译可以忽略这些错误。但是ASSERT不检测参数的真假,而VERIFY检
测参数的真假,所以只能弹出一个对话框。
在一个MFC的多文档应用程序Test中的OnDraw 函数中ToDo语句后
面添加下面的代码:
bool m_bValue=false;
ASSERT(m_bValue & ASSERTMessage());
VERIFY(m_bValue & VERIFYMessage());
为CTestView类添加两个成员函数ASSERTMessage()和VERIFYMessage
():
bool CTestView::ASSERTMessage()
{
MessageBox(〃经过ASSERT检验〃);
return true;
}
bool CTestView::VERIFYMessage()
{
MessageBox(〃经过VERIFY检验〃);
return true;
}
在MFC的发布版本中编译并运行该程序,弹出如图11。3所示的消息
框,显示 “经过VERIFY检验”,说明VERIFY检测了它的参数,而
ASSERT没有检测其参数。
图11。 3 VERIFY示例
(3) TRACE
…………………………………………………………Page 637……………………………………………………………
TRACE宏的用法如下:
TRACE( exp )
其中的参数exp定义了一组数量可变的参数。
TRACE是一个在程序运行时跟踪变量数值的便捷的方法,它的用法和
Printf完全相同。
l 注意:
l 使用TRACE一次最多可以显示512个字符,而且这个宏也只在MFC的
调试版本中有效。
下面的例子使用TRACE宏在程序运行时跟踪变量m_value的值。
代码如下:
int m_value=100;
for(int i=0;i