65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.08/5 (10投票s)

2000年10月6日

viewsIcon

73451

downloadIcon

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。

许可证

本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。

作者可能使用的许可证列表可以在此处找到。

© . All rights reserved.