比較QT和MFC兩個介面庫

來源:互聯網
上載者:User

確切說應該比較的是QT和MFC兩個介面庫

QT使用的編譯器是MinGW,即Linux下的GCC移植到windows的版本

MFC使用的編譯器是Visual C++

 

QT的應用主要在Linux下,但是它本身是跨平台的,也支援其他動作系統,是現在比較著名的介面庫,著名的KDE就是使用QT開發的

 

MFC是提供給VC的,但是它主要是程式碼程式庫,不像VCL和編譯器掛鈎很多,但是MFC主要是對windows API的封裝,所以只能用於windows平台

 

根據你所說的方面,簡單比較一下:

1.開發速度

整體來說可能MFC會快捷一些,因為windows平台的開發工具大多很智能,因為立足於windows的開發人群很廣,從菜鳥到專業人士,但是QT由於基於Linux,可用的開發工具不多,大都比較專業,多是第三方產品,而且整合度不大,第三方庫也沒有MFC的多,從這一點MFC略勝一籌,但是QT自從被Nokia收購後,官方發布了跨平台整合式開發環境QTCreator,所以之後走向就不好說了,個人總體感覺QT Creator和VS.net差距比較大,還需改進

 

但是從庫本身來說QT整合的功能較MFC龐大,而且使用的封裝技術訊號和槽也是比較受到讚許的,比如QT Script為QT提供嵌入式指令碼,QT介面庫支援CSS,所以QT做出來的介面比MFC要好,而且比較容易,MFC就需要藉助第三方庫了

因為MFC是淺層封裝(最新的2008 sp1加入了BCG的進階介面庫,可能有所改善)windows SDK,以降低使用windows SDK引起的開發效率的降低,和開發難度的增加

所以QT庫是比MFC優秀的,兩個庫都經受了時間的考驗,穩定性都很高,Bug幾乎沒有

 

2.運行效率

MFC由於其淺層封裝的特點,所以運行效率是比較高的,加上vc對windows的針對性最佳化,整體效能是比較高的,但是如果加入第三方庫就不敢保證了

 

QT因為庫比較龐大,封裝層次較深,所以運行效率較MFC為低,但是在現在的機器配置下,C#大家都不介意了,這些會引起人們的介意嗎?

 

3.應用範圍,現在windows的普及範圍誰能比過,所以MFC的客戶量比較多,QT主要是Linux下的開發人員在使用,但MFC也只是得益於windows(感覺又是一次捆綁戰略)

 

MFC不支援嵌入式開發(主要指手機平台),但是QT有對應的模組,但是現在Java的天下又有誰能撼動?

 

4.學習難度

QT的封裝哲學比較明晰,和系統隔離的比較好,門檻不高

MFC較難精通,因為深入開發之後SDK還是要瞭解的,否則程式感覺比較兒童化,呵呵

 

選擇工作的方向,就現在來說基於vc的開發是比較多的,所以就業比較好

Linux下的QT開發的就業情況還有待提高,但是專業方面,比如企業級的開發,或者涉及了Linux系統,QT還是可以的

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.