在VS中为GUI程序添加console
来源:互联网 发布:hibernate执行原生sql 编辑:程序博客网 时间:2024/05/28 06:06
开发中使用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的输入输出 (使用方法参考http://blog.chinaunix.net/u2/67530/showart_600981.html )
HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); // 获取标准输出设备句柄
HANDLE hIn = GetStdHandle(STD_INPUT_HANDLE); // 获取标准输入设备句柄
HANDLE hIn = GetStdHandle(STD_INPUT_HANDLE); // 获取标准输入设备句柄
WriteConsole(hOut, "success!", 7, NULL, NULL);
4.使用VC的Post-builder :设置位置在Project | Properties->Configuration Properties->Build Events->Post-Build Event
在Command Line新加一行命令:editbin /SUBSYSTEM:CONSOLE $(OutDir)\filename.exe
(其中 filename 为可执行文件名) ,成功后你的GUI程序运行的时候就多了一个console控制台,比较cool
并且cout 输出的东西都会传到console控制台
PS:工程可能需要关闭重新打开
摘自
http://blog.csdn.net/zdl1016/archive/2008/09/16/2936171.aspx
- 在VS中为GUI程序添加console
- console 程序中使用CFileDialog, VS 2010
- Opencv在VS中去掉console窗口
- 在控制台(Console)环境下编译Windows GUI程序
- 从 GUI 应用程序中调用 CRT 输出例程(在非console程序中查看printf输出)
- VS在安装程序中添加运行库的安装
- GUI程序中添加控制台调试
- vs为QT程序添加icon图标
- 在webService中调用Console程序
- 在opencv中为程序界面添加Trackbar
- 调试 -- 为GUI程序添加控制台调试信息输出
- VS中为程序文件自动添加版权信息注释的方法
- VS中为代码添加虚线
- 一个简单的将GUI程序的log信息输出到关联的Console窗口中
- 一个简单的将GUI程序的log信息输出到关联的Console窗口中
- 在VS中添加命令方便获取当前程序集全名
- 在Mac下为GUI程序设定环境变量
- 如何在VS中添加命令行参数
- c#中的unchecked是什么意思,起什么作用?
- 牛人(笑来)VS牛人(阿朱):惺惺相惜 - [读书,这么好的事儿]
- ArcMap
- 用DEF文件从Dll中导出C++类
- Jarkata Common Email
- 在VS中为GUI程序添加console
- Unions
- SNMP学习:solaris 9 + gcc3.4.2 下安装net-snmp-5.4.2.1
- linux下远程桌面控制软件---NX
- 医疗行业将成为云计算先锋军
- 李开复的第七封信
- 惠普前总裁孙振耀指点职业规划
- Oracle推出两大免费应用程序开发工具
- -1