VC ++ Win32控制台应用程序与Win32应用程序配置

时间:2011-06-21 10:00:29

标签: visual-c++ configuration console-application

如果这有点模糊,我会道歉,但我没有更深刻的概述...我已经学习了一段时间的Windows C ++编程并开始使用控制台应用程序(没有太多质疑)并且现在有了进展到Win32应用程序(DirectX等)。我想我有一个合理的想法,当我启动Win32应用程序时会发生什么:WinMain,为消息循环设置Call​​Backs等。但是我已经意识到我不知道当我创建Win32控制台应用程序时会发生什么。我在VC ++中的一个控制台应用程序项目配置中定义了一个_tmain函数,它由一个控制台窗口执行,该控制台窗口通过与各种iostream所需的链接“神奇地”弹出和不存在。 CIN / COUT。据推测,这是由我选择的Win32控制台应用程序项目构建选项设置的 - 但是粗略地看一下2版本中的配置选项并没有真正揭示差异。您是否会提供/指出正在发生的事情的摘要......?感谢。

1 个答案:

答案 0 :(得分:1)

它是C ++链接目标的子系统链接选项。

http://msdn.microsoft.com/en-us/library/fcc1zstk.aspx

最有用的种类:

CONSOLE

  

Win32字符模式应用程序。操作系统为控制台应用程序提供控制台。如果为本机代码定义了main或wmain,则为托管代码定义int main(array ^),或者使用/ clr:safe完全构建应用程序,CONSOLE是默认值。

POSIX

  

与Windows NT中的POSIX子系统一起运行的应用程序。

WINDOWS

  

应用程序不需要控制台,可能是因为它创建了自己的窗口以便与用户进行交互。如果为本机代码定义了WinMain或wWinMain,或者为托管代码定义了WinMain(HISTANCE *,HINSTANCE *,char *,int)或wWinMain(HINSTANCE *,HINSTANCE *,wchar_t *,int),则默认为WINDOWS。 / p>

Visual Studio中的选项对话框中也提供了该选项,现在没有办法提供屏幕截图(查看常规(?)链接器选项下)