天天看点

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时才会出现,编译之后,直接运行编译文件,关闭文件时窗口会自动关闭。