概述
http://blog.csdn.net/zhuqinglu/archive/2008/05/17/2454524.aspx
向MFC应用程序添加控制台窗口
简介
如果你曾经写过MFC应用程序,也许你忽略了控制台窗口。熟悉了控制台窗口的人会认为它是如此的便捷,我就是一个,认为printf或者cout是最优秀的调试函数,可以在不打开任务管理器的情况下在控制台中仅仅按下CTRL+C来结束不响应的程序。不幸的是,MFC应用程序默认情况下并不支持控制台。但是在你的应用程序加入一小段代码后,然后改变连接选项你就可以解决这个问题
l 对于Visual Studio .NET
l 对于 Visual Stduio 98 (Visual C++ 6.0)
l 它是如何工作的?
对于Visual Studio .NET
请根据下面的步骤做:
1. 复制以下代码保存为"mfcconsole.cpp",在Visual Studio .NET选择"Project"菜单的"Add Existing Item",把"mfcconsole.cpp"加进来
#include "stdafx.h"
#include <stdio.h>
#include <windows.h>
extern "C"
{
int PASCAL WinMain(HINSTANCE inst,HINSTANCE dumb,LPSTR param,int show);
};
int main(int ac,char *av[])
{
char buf[256];
int i;
HINSTANCE inst;
inst=(HINSTANCE)GetModuleHandle(NULL);
buf[0]=0;
for(i=1; i<ac; i++)
{
strcat(buf,av[i]);
strcat(buf," ");
}
return WinMain(inst,NULL,buf,SW_SHOWNORMAL);
}
2. 有时不知什么原因vs不编译某些已包含的文件,这个时候,选择"Solution Explorer"属性页,然后右键单击"mfcconsole.cpp"文件选择"Property",按下面的图解设置
3. 在 "Solution Explorer" 属性页选择项目名字,右键属性,设置如下
编译一下看看效果o(∩_∩)o…,如果你想删除控制台,你只需要将上图的SubSystem恢复至/SUBSYSTEM:WINDOWS
对于 Visual Stduio 98 (Visual C++ 6.0)
Here's how to add a printf-able console window to your MFC application.
1. 同.net的(1)
2. 右键单击mfcconsole.cpp文件,选择” Setting”,设置如下图:
3. 在项目菜单中点击设置,设置如下图,将"/subsystem:windows"改为"/subsystem:console"
它是如何工作的
连接选项"/subsystem:*****"控制程序是否有一个控制台窗口,
l 如果是"/subsystem:console":程序启动控制台,从main函数开始执行
l 如果是"/subsystem:windows":不启动控制台,从WinMain开始执行
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhuqinglu/archive/2008/05/17/2454524.aspx
http://bbs.vrchina.net/viewthread.php?tid=3454&extra=page%3D16
去掉启动时dos窗口的简单方法[转]
我们可以这样做:如果是debug时,我们使用dos窗口,是Release时直接使用windows的窗口,并不弹出dos窗口。
#ifdef _DEBUG
int main( int argc, char **argv )
#else if
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
#endif
注意,如果是release时,你还需要:在工程属性--〉...> 预处理器中把 _CONSOLE改为_WINDOWS;在 链接器---〉System---〉子系统 改为
Windows (/SUBSYSTEM:WINDOWS).
或者
#ifdef NDEBUG
#pragma comment(linker, "/entry:mainCRTStartup")
#endif
这样
int main( int argc, char **argv )
就不用变了
你还需要:在release工程属性--〉...> 预处理器中把 _CONSOLE改为_WINDOWS;在 链接器---〉System---〉子系统 改为
Windows (/SUBSYSTEM:WINDOWS).
最后
以上就是心灵美黑夜为你收集整理的用dos窗口调试的全部内容,希望文章能够帮你解决用dos窗口调试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复