Windows下用VC++進(jìn)行界面開(kāi)發(fā):SDK,MFC,WTL,Qt
關(guān)注微信公眾號(hào) 老盧私塾
GUI==圖形用戶界面
WINDOWS,LINUX開(kāi)發(fā)界面有GTK
WINDOWS:
VC ,delphi,PowerBuilder,Visual Basic
真正的程序員用VC,聰明的程序員用DELPHI
VC 寫(xiě)EXE,DLL(RING3)
1. WINDOWS SDK
SDK==API。
優(yōu)點(diǎn):
不需要安裝Framework(dll)
體積小
此種開(kāi)發(fā)方式深受殺毒、病毒、木馬喜歡。有用ASM調(diào)用SDK編寫(xiě)GUI/服務(wù)的,
也有用VC 調(diào)用SDK編寫(xiě)的
缺點(diǎn):
沒(méi)有利用上面向?qū)ο蟮奶匦?,因?yàn)椴僮飨到y(tǒng)API都是面向過(guò)程的,平面化的管理方式,每個(gè)API都是平行的。不像C /JAVA那樣有類庫(kù),類中再是API。
所以編寫(xiě)起來(lái)比較困難,可以理解成用C語(yǔ)言編寫(xiě)exe,dll
2. MFC
學(xué)VC都學(xué)MFC
優(yōu)點(diǎn):
大量使用宏替換,而不是override、OO。優(yōu)點(diǎn)是在編譯前預(yù)處理,所以運(yùn)行時(shí)不會(huì)再作多態(tài)處理,沒(méi)有虛函數(shù)表(你自己寫(xiě)的C OO肯定是有虛函數(shù)表的),速度快。這就給了架構(gòu)師一種設(shè)計(jì)理念/思想:不一定非要用OO,可以用#宏。
缺點(diǎn):
代碼一點(diǎn)都不優(yōu)雅,非常丑陋。
OO和你用過(guò)JAVA后的感覺(jué),差太多了
前后端界面不分離,WEB前后分離
體積大
不同的VC 版本,編譯出來(lái)的MFC EXE,DLL需要安裝framework(DLL)。這也是為什么多用VC6來(lái)寫(xiě)MFC的原因,因?yàn)閂C6的DLL,WINDOWS不管哪個(gè)版本,基本都有,(98,XP,2K,VISTA,7,8,10)。VC20xx
從代碼優(yōu)雅度上,遠(yuǎn)輸入delphi的vcl控件(組件不一定有界面,控件是指有界面的組件)
3. WTL
當(dāng)年很多大廠(exe)都是用WTL
優(yōu)點(diǎn):和SDK基本一樣的部署方式,即不需要安裝一堆的DLL framework。全WIN平臺(tái)運(yùn)行。
特點(diǎn):結(jié)合了SDK的輕部署,和MFC的控件機(jī)制。
缺點(diǎn):控件比MFC的少,但是寫(xiě)法比MFC容易多了,惡心程度大大降低了。
QQ開(kāi)發(fā),服務(wù)器,帶寬非常貴。
軟件都得下載安裝exe,馬總頭帶帶寬費(fèi)用,modem/ADSL這都是要錢(qián)的,用戶也不喜歡大的EXE。
QQ優(yōu)化VC 代碼,讓QQ.exe的體積變得非常小(200K以下,幾十K)。馬總開(kāi)心
WTL微軟早就不升級(jí)、更新了
4. Qt
Qt特點(diǎn):
JAVA源代碼不用改,一次編譯,到處運(yùn)行。不需要在每個(gè)平臺(tái)下再編譯一次源程序。
Qt是源代碼不用改,但是要在不同的操作系統(tǒng)下(WIN/LINUX)進(jìn)行編譯出對(duì)應(yīng)的pe文件,elf文件。
Qt,Delphi后來(lái)發(fā)展得都可以寫(xiě)Android了。
Qt的另一大優(yōu)點(diǎn):界面GUI,在不同的操作系統(tǒng)平臺(tái)下都寫(xiě)好了界面庫(kù)。調(diào)用API是一樣的。所以說(shuō)你不需要修改源代碼,只需要在相應(yīng)的操作系統(tǒng)下編譯下即可。
Qt其實(shí)作的就是把不同操作系統(tǒng)中的通用功能提煉成了API(OO類庫(kù))
多線程,mutex,socket,文件
GUI庫(kù)
艾倫,比爾蓋茨,鮑爾默開(kāi)發(fā)了win3.x操作系統(tǒng)
DOS WIN
鮑爾默被風(fēng)(wind)吹走了
,從這往后微軟的CEO我就不關(guān)注了,因?yàn)?span style="color: #FF0000">互聯(lián)網(wǎng)時(shí)代到來(lái)了,大佬層出不窮。
PC端:EXE,DLL/linux chmod 755 腳本
WEB端:作網(wǎng)站。中國(guó)一定要跟上國(guó)際,有個(gè)網(wǎng)站