1、参见:
http://zhidao.baidu.com/question/12810776.html
在VC里建一个win32 application和一个win32 console application,两个dsp工程文件对比一下,你会发现应用程序里的subsystem:windows,控制台程序里的subsystem:console。
subsystem这个链接选项告诉Windows如何运行可执行文件。
subsystem是console的话,Windows在进入可执行文件的代码前,就会产生一个控制台窗口。
subsystem是windows的话,操作系统就不产生console窗口,该应用程序的窗口由用户自己创建。
2、
http://zhidao.baidu.com/question/314655650.html
控制台程序比较节省系统资源,写非常大的服务端程序,非常消耗系统资源的时候,建议用控制台程序,别看那么几个控件、按钮占地方不大,内存都是一点点挤出来,又一点点消耗掉的。
控制台模式还有个优点就是,不会因为线程被阻塞就停止响应,换句话说,如果你只是做1对1,或者n(n<10)对1的时候,如果你选用最见的阻塞型的select模型的话,控制台不会被阻塞,但是窗口程序就会停止响应了(线程越多越占用系统资源,线程切换的时候,系统对堆栈的操作效率极其低下,所以不是线程越多越好,所以你可以每个IP一个线程来达到避免停止响应,但是不建议这么做)
3、程序的主要区别应该是入口函数不一样,因为界面显示所使用的类库不同。
4、
http://zhidao.baidu.com/question/8861937.html
Windows编程的主要特点有:
图形界面 面向对象程序设计
事件驱动 高效的内存管理
设备独立性 动态连接
1.1.1 图形界面
漂亮、统一的图形用户界面;
菜单条、工具条、状态条等基本对象;
方便、快捷的联机帮助;可以同时浏览多个界面。
1.1.2 面向对象程序设计
采用面向对象技术开发基于Windows的应用程序能更好地发挥操作系统本身的优势。
1.1.3 事件驱动
面向对象程序设计最根本的特点就是事件驱动。
与事件驱动相对应的是过程驱动。
5、其实,现在往深处想想,竟然没什么不同的。
控制台上也可以实现GUI,图形界面也可以使用控制台命令。
只是一般控制台用来编写服务类、驱动类程序,窗口用来做末端用户配置。