的TRACE宏当代码被编译可用于输出诊断消息到调试器的调试模式.在发布模式下,我需要相同的消息.有没有办法实现这个目标?
(请不要不浪费你的时间讨论为什么我不应该在发布模式使用TRACE :-)
实际上,TRACE宏比OutputDebugString更灵活.它采用printf()样式格式字符串和参数列表,而OutputDebugString只接受一个字符串.为了在发布模式下实现完整的TRACE功能,您需要执行以下操作:
void trace(const char* format, ...) { char buffer[1000]; va_list argptr; va_start(argptr, format); wvsprintf(buffer, format, argptr); va_end(argptr); OutputDebugString(buffer); }