win32 Application 和Win32 Console Application 的区别

Win32 Application和Win32 Console Application 都是工作在32位Windows环境的程序。  

其中Win32 Application 就是普通的常见的窗口应用程序,当然有的界面做得比较个性化,比如圆形的、

不规则形状的…… 它们都是所谓的GUI(Graphics User Interface图形用户接口),我们可以通过鼠标点

击来完成控制。  

而Win32 Console Application(win32控制台应用程序)往往是像MS-DOS窗口(XP中叫命令提示符)的样

子出现,我们得用键盘输入各种命令来使用它; 或者叫CUI(Character User Interface字符用户接口)。  

vc6里Win32 Application和Win32 console Application的区别:

很多VC初学者可能会常遇到如下链接错误:  
Linking... /subsystem:windows  
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol WinMain @16  

Debug/TestWin.exe : fatal error LNK1120: 1 unresolved externals  
Error executing link.exe.  

解决方法是:将project-settings-link的project options里的/subsystem:windows 改

成/subsystem:console  

原因:Win32 Application的入口函数为WinMain  
Win32 Console Application的入口函数是main  

换句话说,如果你编写传统的C程序,必须建立Win32 Console程序,但VC里面默认的是Win32  

Application,于是上面提及的链接错误就就经常出现了。而Win32 Application和Win32 Console的区别

就在于VC里链接参数不同。

有人问如何才能使Console Application运行完全后自动关闭其窗口。
MS-Dos窗口只有在Debug时才会出现,编译之后,直接运行编译文件,关闭文件时窗口会自动关闭。
原文地址:https://www.cnblogs.com/CBDoctor/p/2251632.html