Windows下用VC++进行界面开发:SDK,MFC,WTL,Qt
关注微信公众号 老卢私塾
GUI==图形用户界面
WINDOWS,LINUX开发界面有GTK
WINDOWS:
VC ,delphi,PowerBuilder,Visual Basic
真正的程序员用VC,聪明的程序员用DELPHI
VC 写EXE,DLL(RING3)
1. WINDOWS SDK
SDK==API。
优点:
不需要安装Framework(dll)
体积小
此种开发方式深受杀毒、病毒、木马喜欢。有用ASM调用SDK编写GUI/服务的,
也有用VC 调用SDK编写的
缺点:
没有利用上面向对象的特性,因为操作系统API都是面向过程的,平面化的管理方式,每个API都是平行的。不像C /JAVA那样有类库,类中再是API。
所以编写起来比较困难,可以理解成用C语言编写exe,dll
2. MFC
学VC都学MFC
优点:
大量使用宏替换,而不是override、OO。优点是在编译前预处理,所以运行时不会再作多态处理,没有虚函数表(你自己写的C OO肯定是有虚函数表的),速度快。这就给了架构师一种设计理念/思想:不一定非要用OO,可以用#宏。
缺点:
代码一点都不优雅,非常丑陋。
OO和你用过JAVA后的感觉,差太多了
前后端界面不分离,WEB前后分离
体积大
不同的VC 版本,编译出来的MFC EXE,DLL需要安装framework(DLL)。这也是为什么多用VC6来写MFC的原因,因为VC6的DLL,WINDOWS不管哪个版本,基本都有,(98,XP,2K,VISTA,7,8,10)。VC20xx
从代码优雅度上,远输入delphi的vcl控件(组件不一定有界面,控件是指有界面的组件)
3. WTL
当年很多大厂(exe)都是用WTL
优点:和SDK基本一样的部署方式,即不需要安装一堆的DLL framework。全WIN平台运行。
特点:结合了SDK的轻部署,和MFC的控件机制。
缺点:控件比MFC的少,但是写法比MFC容易多了,恶心程度大大降低了。
QQ开发,服务器,带宽非常贵。
软件都得下载安装exe,马总头带带宽费用,modem/ADSL这都是要钱的,用户也不喜欢大的EXE。
QQ优化VC 代码,让QQ.exe的体积变得非常小(200K以下,几十K)。马总开心
WTL微软早就不升级、更新了
4. Qt
Qt特点:
JAVA源代码不用改,一次编译,到处运行。不需要在每个平台下再编译一次源程序。
Qt是源代码不用改,但是要在不同的操作系统下(WIN/LINUX)进行编译出对应的pe文件,elf文件。
Qt,Delphi后来发展得都可以写Android了。
Qt的另一大优点:界面GUI,在不同的操作系统平台下都写好了界面库。调用API是一样的。所以说你不需要修改源代码,只需要在相应的操作系统下编译下即可。
Qt其实作的就是把不同操作系统中的通用功能提炼成了API(OO类库)
多线程,mutex,socket,文件
GUI库
艾伦,比尔盖茨,鲍尔默开发了win3.x操作系统
DOS WIN
鲍尔默被风(wind)吹走了
,从这往后微软的CEO我就不关注了,因为互联网时代到来了,大佬层出不穷。
PC端:EXE,DLL/linux chmod 755 脚本
WEB端:作网站。中国一定要跟上国际,有个网站