Windows操作系統(tǒng)提供了各種各樣的函數(shù),以方便我們開(kāi)發(fā)Windows應(yīng)用程序。這些函數(shù)是Windows操作系統(tǒng)提供給應(yīng)用程序編程的接口(Application Programming Interface),簡(jiǎn)稱(chēng)為API函數(shù)。我們?cè)诰帉?xiě)Windows程序時(shí)所說(shuō)的API函數(shù),就是指系統(tǒng)提供的函數(shù),所有主要的Windows函數(shù)都在Windows.h頭文件中進(jìn)行了聲明。
使用windows API創(chuàng)建的能在windows上運(yùn)行的程序統(tǒng)稱(chēng)為windows程序。
這些API隨著系統(tǒng)的更新升級(jí),他們也是在不斷更新和擴(kuò)充,但是,其行為基本保持不變以保證不同平臺(tái)對(duì)應(yīng)用程序的兼容性,面對(duì)越來(lái)越多地API,我們?cè)趺传@取可靠的幫助呢?最大的幫助就是MSDN,你可以把MSDN理解為微軟向開(kāi)發(fā)人員提供的一套幫助系統(tǒng),其中包含大量的開(kāi)發(fā)文檔、技術(shù)文章和示例代碼。MSDN包含的信息非常全面,程序員不但可以利用MSDN來(lái)輔助開(kāi)發(fā),還可以利用MSDN來(lái)進(jìn)行學(xué)習(xí),從而提高自己。對(duì)于初學(xué)者來(lái)說(shuō),學(xué)會(huì)使用MSDN并從中汲取知識(shí),是必須要掌握的技能。
我們還經(jīng)常聽(tīng)人說(shuō)Win32 SDK開(kāi)發(fā),那么什么是SDK呢。SDK的全稱(chēng)是Software Development Kit,中文譯為軟件開(kāi)發(fā)包。假如現(xiàn)在我們要開(kāi)發(fā)呼叫中心,在購(gòu)買(mǎi)語(yǔ)音卡的同時(shí),廠(chǎng)商就會(huì)提供語(yǔ)音卡的SDK開(kāi)發(fā)包,以方便我們對(duì)語(yǔ)音卡的編程操作。這個(gè)開(kāi)發(fā)包通常都會(huì)包含語(yǔ)音卡的API函數(shù)庫(kù)、幫助文檔、使用手冊(cè)、輔助工具等資源。也就是說(shuō),SDK實(shí)際上就是開(kāi)發(fā)所需資源的一個(gè)集合,再具體點(diǎn)說(shuō),你知道CreatePorcess這個(gè)API,那怎么使用,你需要有頭文件,當(dāng)然還需要提供功能的系統(tǒng)DLL庫(kù)的引出庫(kù)lib,這些都在SDK中?,F(xiàn)在讀者應(yīng)該明白Win32 SDK的含義了吧,即Windows 32位平臺(tái)下的軟件開(kāi)發(fā)包,包括了API函數(shù)、幫助文檔、微軟提供的一些輔助開(kāi)發(fā)工具。
提示:API和SDK是一種廣泛使用的專(zhuān)業(yè)術(shù)語(yǔ),并沒(méi)有專(zhuān)指某一種特定的API和SDK,例如,語(yǔ)音卡API、語(yǔ)音卡SDK、Java API、Java SDK等。自己公開(kāi)的DLL函數(shù)也可以叫API!??!
一般來(lái)講,狹義上的API指 MS公開(kāi)的函數(shù)。比如MSDN中介紹的函數(shù)。 廣義的API可以包括所有的函數(shù),你自己的函數(shù)也算,未公開(kāi)的也是。 指世界上一切函數(shù)。都可以叫API--pplication Programming Interface ; SDK也不僅僅指MS的開(kāi)發(fā)包,你自己的程序如果需要讓別人作2次開(kāi)發(fā),你就會(huì)提供 一些函數(shù)接口讓別人編程,你提供的材料也叫SDK.
有了語(yǔ)言(C\C++),有了開(kāi)發(fā)資源(SDK)、有了幫助文檔(MSDN),ok,我們可以編寫(xiě)windows程序了,等等、工具有沒(méi)有更好的工具呢,人類(lèi)之所以進(jìn)步就在于會(huì)使用工具,所以,為了更加高效的開(kāi)發(fā)程序,一些集成開(kāi)發(fā)環(huán)境誕生了,其中, Visual C++就是一個(gè)支持C\C++語(yǔ)言開(kāi)發(fā)的集成開(kāi)發(fā)環(huán)境(IDE)。記住,Vc++不是什么新的編程語(yǔ)言,他只是 IDE,只是一個(gè)編程的輔助工具,具體來(lái)說(shuō),Visual C++包含了源程序編輯器、C\C++編譯器、MFC和ATL等,其中、MFC和ATL可以簡(jiǎn)單的理解為再次封裝的Windows的系統(tǒng)接口,原生接口就是API 。
其中,MFC,微軟基礎(chǔ)類(lèi)(Microsoft Foundation Classes),實(shí)際上是微軟提供的,用于在C++環(huán)境下編寫(xiě)應(yīng)用程序的一個(gè)框架和引擎,也可以說(shuō),MFC是Win API與C++的結(jié)合后的再一次封裝。
OWL(borland公司,其已經(jīng)逐漸淡處)、VCL(Borland公司--現(xiàn)在已和Inprise合并專(zhuān)--為DELPHI設(shè)計(jì)的,其是由OWL演變的)和MFC(ms專(zhuān)為vc++設(shè)計(jì)的)是不同公司提供的三大類(lèi)庫(kù),更確切點(diǎn)說(shuō),他們都是應(yīng)用框架。
DELPHI:也是一種集成開(kāi)發(fā)環(huán)境,不過(guò)他支持的語(yǔ)言是源至于pascal的Object Pascal.他使用的框架就是VCL.
BCB:就是Inprise公司使用了Delphi的IDE和VCL,再配上C++語(yǔ)言推出的開(kāi)發(fā)環(huán)境C++Builder,很多人很念舊,所以冠以Borland C++ Builder之名,簡(jiǎn)稱(chēng)為BCB。
ATL是全新的COM 開(kāi)發(fā)工具 :---- ATL 是ActiveX Template Library 的縮寫(xiě),它是一套C++模板庫(kù)。 使用ATL 能 夠 快速地開(kāi)發(fā)出高效、簡(jiǎn)潔的代碼, 同時(shí)對(duì)COM 組件的開(kāi)發(fā)提供最大限度 的代碼自動(dòng)生成以及可視化支 持。從Microsoft Visual C++ 5.0 版本開(kāi)始,Microsoft 把ATL 集成 到Visual C++ 開(kāi)發(fā)環(huán)境中。
SDK + C 完全可以進(jìn)行所有的windows程序開(kāi)發(fā),當(dāng)然,你還可以采用MFC + C++,當(dāng)然,你要用SDK + C++ 也是你的自由,但是MFC + C可是impossible的事情,因?yàn)?,MFC就是C++寫(xiě)的,C可不支持類(lèi)哦...
聯(lián)系客服