2013年3月30日 星期六

Windows SDK入門淺談



如果你是一個編程初學者,如果你剛剛結束C語言的課程。你可能會有點失望和懷疑:這就是C語言嗎?靠它就能編出軟體?無法想像Windows桌面上一個視窗是怎樣出現在眼前的。

當你編寫了一個C程式,然後編譯連結它,得到了一個可執行檔。在Dos的命令提示符下鍵入這個exe檔的檔案名,然後它就執行了。表面看事情就是這些,作為一個應用程式師,我們不用考慮背後的事情,但是有一個簡單的事實我們必須清楚的認識:程式不只是靠自己運行,它需要運行時環境的配合。

考慮一下用一個 printf函數顯示一個字串的過程。顯然這個函數不是你自己寫的。沒錯,你的程式只有依靠它才能運行,printf的代碼就在C運行時庫中,因此你可以輕鬆的調用它而不管它是怎麼實現的。但是,C運行時庫也會調用一些別的函數,這些函數是由作業系統提供的,可以看出,程式的運行是由一層一層的服務支撐起來的。

在這裏面,作業系統擔當了非常重要的角色。它提供了程式師可以直接使用的常式,也可以稱為 Application Programming Interface (應用程式編程介面,API) 。在Windows中編程就要常常和API打交道。32位Windows的API 有2000多個,一方面它提供了功能強大的編程介面。

Windows廣泛使用動態鏈結。Windows的API就放在動態連結程式庫中,以供程式運行時調用。在Windows 98中有32位的gdi32.dll,user32.dll,kernel32.dll和16位的 gdi.exe,user.exe,krnl386.exe,API就存在於這些動態連結程式庫中。   

SDK即software develope kit(軟體發展工具包),它包含了進行Windows軟體發展的文檔和API函數的輸入庫、頭檔(因為API在動態連結程式庫中,這些動態連結程式庫是系統的 組成部分因此不用再提供,而輸入庫和頭檔則必須,這樣才能在你的程式中使用API函數)。早期SDK是一個單獨發放的包,現在在Visual C++和其他一些開發環境中已經包含了它。如果你已經安裝了VC++那麼就可以開始編寫Windows程式了。隨著Windows系統的發展,SDK的內 容越來越多,我們只要抓住最基本的方面。至於其他專門的主題,就根據自己的興趣和技術方向進一步學習了。


打開VC++的新建專案,可以看到VC++支援很多種工程。包括命令行 的,MFC的,還有就是Win 32 A pplication,即SDK程式。使用VC++未必是編寫SDK程式,編寫SDK程式也未必要用VC++。 編寫Windows程式的方法也不止SDK一種,還包括使用類庫如MFC,OWL,使用快速開發工具如VB,Delphi。這些方法各有各的用處。使用 SDK無疑是最麻煩的了,我們學習SDK也並非是為了用它來編軟體,雖然它可以,主要是為了對Windows編程有比較清晰的認識,這樣你使用MFC時就 可以做到“胸中自有溝壑”。

沒有留言:

張貼留言

※歡迎多加留言交流,但禁止垃圾留言及廣告留言。
※留言時可以使用部份HTML標記,例如 < b>, < i>, < a>。
※留言內容請保持理性,切勿發表不實言論,或是作人身攻擊、毀謗。若涉及相關法律責任,由留言者自負。

Related Posts Plugin for WordPress, Blogger...