这两个宏宏只对Debug版本的工程产生作用;在Release 版本的工程中,TRACE和ASSERT宏将都被忽略。
不同点如下:
1、TRACE宏对于VC下程序调试来说是很有用的东西,有着类似printf的功能。比如可以输出一些关键信息,就不需用MessagBox这些函数来输出咯。
2、ASSERT宏的参数是一个逻辑表达式,在程序运行过程中,若该逻辑表达式为真,则不会发生任何动作;若此表达式为假,则系统弹出一个对话框警告你, 并停止程序的执行。同时要求你作出选择:取消、忽略和重试。若你选择取消,则系统将停止程序的运行;若你选择忽略,则系统将忽略该错误,并继续执行程序; 若你选择重试,则系统将重新计算该表达式,并激活调试器。