安庆网站建设公司,教师做网站赚钱,排名优化公司案例,北京做网站源代码的MFC程序中#xff0c;如果想要输出调试信息#xff0c;我们一般都是TRACE或者使用LOG文件#xff0c;都不是很方便#xff0c;第一个需要我们在调试状态下#xff0c;第二个也要配置麻烦而且不直观。而使用Console来显示调试信息应该是更好的选择。下面介绍几种在MFC程序中… MFC程序中如果想要输出调试信息我们一般都是TRACE或者使用LOG文件都不是很方便第一个需要我们在调试状态下第二个也要配置麻烦而且不直观。而使用Console来显示调试信息应该是更好的选择。下面介绍几种在MFC程序中使用控制台来输出调试信息。 1. 我们可以自己创建一个命令行窗口在主程序的初始化的时候调用AllocConsole()函数。相应的退出的时候调用FreeConsole 1 BOOL CMFCTestApp::InitInstance()2 {3 ...4 #ifdef _DEBUG5 AllocConsole();6 #endif7 ...8 CWinApp::InitInstance();9 } 此种方式下输出函数需要使用_cprintf或者WriteConsole(GetStdHandle(STD_OUTPUT_HANDLE)...)其他的如coutprintf都不能输出到这里。当然你可以自己封装一套调试函数。 2. 修改工程的配置信息一般控制程序类型的是通过这两/SUBSYSTEM:WINDOWS来配置的这个可以在工程属性/Linker/System/Subsystem这里看到我们可以通过修改程序为console类型来使得程序显示命令行但直接修改这个属性会提示链接错误原因是不同类型的程序有不同的程序入口。这里使用简单的方式直接在stdafx.h中添加一句 1 #ifdef _DEBUG2 #pragma comment( linker, /subsystem:console /entry:wWinMainCRTStartup )//我用VS20053 #endif 我们重新定义了系统类型和入口函数这里面可以根据自己的需要任意组合。你可以参考你工程目前的属性信息工程属性/Linker/Command Line如下参考 #pragma comment( linker, /subsystem:windows /entry:WinMainCRTStartup ) #pragma comment( linker, /subsystem:windows /entry:mainCRTStartup ) #pragma comment( linker, /subsystem:console /entry:mainCRTStartup ) #pragma comment( linker, /subsystem:console /entry:WinMainCRTStartup ) PS如何改变Win32 Console 程序显示颜色 HANDLE hConGetStdHandle(STD_OUTPUT_HANDLE);/*STD_INPUT_HANDLE 标准输入的句柄 STD_OUTPUT_HANDLE 标准输出的句柄 STD_ERROR_HANDLE 标准错误的句柄 */SetConsoleTextAttribute(hCon,ForeColor|BackGroundColor);/*其文本与背景颜色可以是 FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED, FOREGROUND_INTENSITY, BACKGROUND_BLUE, BACKGROUND_GREEN, BACKGROUND_RED, and BACKGROUND_INTENSITY*/