MFC/Windows/非控制台应用程序的 cout






3.08/5 (10投票s)
2000年10月6日

73451

795
一个跟踪宏,它将跟踪输出到 Windows 应用程序的新控制台。
引言
通常,在调试 MFC 程序时,会使用类似 TRACE
或其变体的宏。这些跟踪信息会出现在调试器的输出窗口中。要查看跟踪信息,您必须处于调试状态(例如,在 MSDEV 中按 F5)。如果您正在执行它,即按 Ctrl-F5,则无法看到这些跟踪信息。如果您仍然需要跟踪它,您可能会使用消息框,这很烦人。这个跟踪器允许您为您的 Windows 应用程序创建一个控制台窗口,并将所有内容跟踪到该窗口,因此得名 cout
。此外,当您跟踪时,您可能会添加一些关于您正在测试的内容的文本。例如
char szName[] = "Dhananjay Gune";
printf("Name = %s\n", szName);
输出将是:
Name = Dhananjay Gune
“cout
”具有以下特性
- 它是一个 DEBUG/RELEASE 宏
- 它也可以在 RELEASE 构建中跟踪
- 它是一个简洁的简写
- 它会自动跟踪您想要跟踪的表达式
- 这个跟踪器有所不同
- 它一次只能跟踪一个表达式
例如
char szName[] = "Dhananjay Gune";
int a = 0, b = 1;
cout(GetCurrentThreadId());
cout(a == b);
cout(szName);
cout("Done");
输出将是:
GetCurrentThreadId() = 1234
a == b = 0
szName = Dhananjay Gune
Done
对于没有控制台的应用程序,您必须将 CreateConsole()
宏放在您的 main/WinMain/InitInstance/CWinApp 构造函数
中。您还应该在程序退出之前放置 DeleteConsole()
。但是,没有必要这样做,因为系统在程序退出时无论如何都会 FreeConsole()
。
另一个随附的免费函数是 getLastErrorText()
,它不言自明,并且部分摘自 MSDN。
许可证
本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。
作者可能使用的许可证列表可以在此处找到。