MFC(win32GUI)程序中显示Dos调试信息.console.显示控制台界面.标准输出.

来源:互联网 发布:深度linux deepin安装 编辑:程序博客网 时间:2024/05/18 03:45
开发中使用printf,cout等函数能够很方便地从console监控程序运行,

但是对于GUI程序,虽然程序中使用了printf,cout但是无法查看stdout,stderr的输出

有几种方法可以查看GUI程序的输出(VS):

1.使用VC的trace函数代替printf,但是必须include StdAfx.h,输出会显示在ouput窗口中,但是会跟其他的信息混在一起,不是很方便

2.将stdout、stderr输出转向到文件,类似log文件

3.使用WINDOWS提供的一系列ReadConsole,WriteConsole等API来完成这个功能,具体参见MSDN,可以将这些API封装成自己的console类,然后创建一个进程去监视console的输入输出

4.使用VC的Post-builder :设置位置在Project | Properties->Configuration Properties->Build Events->Post-Build Event
在Command Line新加一行命令:editbin /SUBSYSTEM:CONSOLE $(OutDir)/$(ProjectName).exe
(其中 filename 为可执行文件名) ,成功后你的GUI程序运行的时候就多了一个console监控台,比较cool
PS:工程可能需要关闭重新打开,我的是系统重启后(不是因为重启VS看不到重启的哈)看到的console,如果你的不行可以试着重启:)
原创粉丝点击