VC++、Win32 SDK、MFC的区别
這是一個初進行開發人員都可能遇到過的概念不清的問題,自己當年也同樣有過誤解,做技術我感覺一定要專,但是,不代表毫不關心相關的知識,至少概念層次上要知道,所以,這里還是再把這些內容紀錄下來,好記性不如爛筆頭:
C/C++都是一種編程語言,程序員用它來創作(我喜歡用創作這個詞,讓寫代碼有一些藝術氣息...)各種各樣的程序,簡單如計算閏年,復雜到一個系統地實現。當然, 編寫標準C程序的時候,我們還經常會調用各種庫函數來輔助完成某些功能;初學者使用得最多的C庫函數就是printf了,這些庫函數是由你所使用的編譯器廠商提供的。在Windows平臺下,也有類似的函數可供調用;不同的是,這些函數是由Windows操作系統本身提供的。
Windows操作系統提供了各種各樣的函數,以方便我們開發Windows應用程序。這些函數是Windows操作系統提供給應用程序編程的接口(Application Programming Interface),簡稱為API函數。我們在編寫Windows程序時所說的API函數,就是指系統提供的函數,所有主要的Windows函數都在Windows.h頭文件中進行了聲明。使用windows API創建的能在windows上運行的程序統稱為windows程序。
這些API隨著系統的更新升級,他們也是在不斷更新和擴充,但是,其行為基本保持不變以保證不同平臺對應用程序的兼容性,面對越來越多地API,我們怎么獲取可靠的幫助呢?最大的幫助就是MSDN,你可以把MSDN理解為微軟向開發人員提供的一套幫助系統,其中包含大量的開發文檔、技術文章和示例代碼。MSDN包含的信息非常全面,程序員不但可以利用MSDN來輔助開發,還可以利用MSDN來進行學習,從而提高自己。對于初學者來說,學會使用MSDN并從中汲取知識,是必須要掌握的技能。
我們還經常聽人說Win32 SDK開發,那么什么是SDK呢。SDK的全稱是Software Development Kit,中文譯為軟件開發包。假如現在我們要開發呼叫中心,在購買語音卡的同時,廠商就會提供語音卡的SDK開發包,以方便我們對語音卡的編程操作。這個開發包通常都會包含語音卡的API函數庫、幫助文檔、使用手冊、輔助工具等資源。也就是說,SDK實際上就是開發所需資源的一個集合,再具體點說,你知道CreatePorcess這個API,那怎么使用,你需要有頭文件,當然還需要提供功能的系統DLL庫的引出庫lib,這些都在SDK中。現在讀者應該明白Win32 SDK的含義了吧,即Windows 32位平臺下的軟件開發包,包括了API函數、幫助文檔、微軟提供的一些輔助開發工具。
提示:API和SDK是一種廣泛使用的專業術語,并沒有專指某一種特定的API和SDK,例如,語音卡API、語音卡SDK、Java API、Java SDK等。自己公開的DLL函數也可以叫API!!!
一般來講,狹義上的API指 MS公開的函數。比如MSDN中介紹的函數。 廣義的API可以包括所有的函數,你自己的函數也算,未公開的也是。 指世界上一切函數。都可以叫API--Application Programming Interface ; SDK也不僅僅指MS的開發包,你自己的程序如果需要讓別人作2次開發,你就會提供 一些函數接口讓別人編程,你提供的材料也叫SDK.
有了語言(C/C++),有了開發資源(SDK)、有了幫助文檔(MSDN),ok,我們可以編寫windows程序了,等等、工具有沒有更好的工具呢,人類之所以進步就在于會使用工具,所以,為了更加高效的開發程序,一些集成開發環境誕生了,其中,Visual C++就是一個支持C/C++語言開發的集成開發環境(IDE)。記住,Vc++不是什么新的編程語言,他只是 IDE,只是一個編程的輔助工具,具體來說,Visual C++包含了源程序編輯器、C/C++編譯器、MFC和ATL等,其中,MFC和ATL可以簡單的理解為再次封裝的Windows的系統接口,原生接口就是API 。
其中,MFC,微軟基礎類(Microsoft Foundation Classes),實際上是微軟提供的,用于在C++環境下編寫應用程序的一個框架和引擎,也可以說,MFC是Win API與C++的結合后的再一次封裝。
OWL(borland公司,其已經逐漸淡處)、VCL(Borland公司--現在已和Inprise合并專--為DELPHI設計的,其是由OWL演變的)和MFC(ms專為vc++設計的)是不同公司提供的三大類庫,更確切點說,他們都是應用框架。
DELPHI:也是一種集成開發環境,不過他支持的語言是源至于pascal的Object Pascal.他使用的框架就是VCL.
BCB:就是Inprise公司使用了Delphi的IDE和VCL,再配上C++語言推出的開發環境C++Builder,很多人很念舊,所以冠以Borland C++ Builder之名,簡稱為BCB。
ATL是全新的COM 開發工具 :---- ATL 是ActiveX Template Library 的縮寫,它是一套C++模板庫。 使用ATL 能 夠 快速地開發出高效、簡潔的代碼, 同時對COM 組件的開發提供最大限度 的代碼自動生成以及可視化支 持。從Microsoft Visual C++ 5.0 版本開始,Microsoft 把ATL 集成 到Visual C++ 開發環境中。
SDK + C 完全可以進行所有的windows程序開發,當然,你還可以采用MFC + C++,當然,你要用SDK + C++ 也是你的自由,但是MFC + C可是impossible的事情,因為,MFC就是C++寫的,C可不支持類哦...
總結
以上是生活随笔為你收集整理的VC++、Win32 SDK、MFC的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 选择合适的隔膜压力表:关键因素和决策指南
- 下一篇: 科隆插入式电磁流量计在石油化工行业中的关