淺析Visual C++兩套完整的Windows應用程序說明
本篇文章主要介紹Visual C++的相關(guān)使用及其注意的問題,以下是Visual C++應用程序的大致創(chuàng)建過程,看完本文你肯定有不少收獲,希望本文能教會你更多東西。希望大家多多多轉(zhuǎn)載。
1.Windows操作系統(tǒng)運行程序時,它首先調(diào)用程序中的WinMain函數(shù),該函數(shù)用來完成某些特殊的任務,其中最重要的任務就是創(chuàng)建該應用程序的主窗口。基于MS-DOS的程序和Windows的程序之間的一個最根本的差別,就在于前者是通過調(diào)用操作系統(tǒng)的功能來獲得用戶輸入,而后者則是通過操作系統(tǒng)發(fā)送的消息來處理用戶輸入。
2.許多Windows消息都經(jīng)過了嚴格的定義,并適用于所有的程序。所有的消息都有兩個32位的參數(shù),可以保存如光標位置、鍵盤碼這樣的信息。在用戶進行菜單選擇或者對話框按鈕單擊等操作時,系統(tǒng)又會發(fā)送WM_COMMAND命令消息給適當?shù)拇翱凇?/P>
3.許多MS-DOS程序都直接往視頻存儲區(qū)或打印機端口輸送數(shù)據(jù),其不利之處是必須提供相應的驅(qū)動程序。Windows(已經(jīng)提供了各種驅(qū)動程序)提供一個稱為圖形設備接口GUI的抽象接口,程序可以通過調(diào)用GUI函數(shù)和硬件打交道,而這些函數(shù)會自動參考被稱為設備環(huán)境DC的數(shù)據(jù)結(jié)構(gòu)。Windows會自動將設備環(huán)境結(jié)構(gòu)映射到相應的物理設備,并提供正確的IO指令。#t#
4. 進行Windows程序設計時,可用一些特定的格式將有用的數(shù)據(jù)存儲在資源文件中,這樣,連接起就可以把C++的二進制代碼和二進制資源文件結(jié)合起來生成可執(zhí)行文件。
5.Windows允許動態(tài)連接,即一些特定結(jié)構(gòu)的庫可以在運行過程中被裝入和連接,并且多個程序可共享同一個動態(tài)連接庫,這樣可大大節(jié)省內(nèi)存和磁盤空間。同時,動態(tài)連接庫還可以大大提供程序的模塊靈活性,因為我們可以單獨編譯和調(diào)試動態(tài)連接庫。
6.Visual C++包括兩套完整的Windows應用程序開發(fā)系統(tǒng)。它還包括ActiveX模板庫ATL,可用來開發(fā)在Internet上使用的ActiveX控件。ATL編程既不是Win32的C編程,也不是MFC編程。ATL是一個完全獨立于MFC的工具,用它可以建立ActiveX控件??捎肕FC建立ActiveX控件,也可用ATL建立ActiveX控件,但ATL控件相對來說又小又快,適合在Internet上使用。
7.以下是Visual C++應用程序的大致創(chuàng)建過程:
8.make文件保存了編譯器和連接器的參數(shù)選項,還表述了所有源文件之間的關(guān)系。Make程序首先讀取make文件,然后激活編譯器、匯編器、資源編譯器和連接器以便產(chǎn)生最后的輸出,通常是可執(zhí)行文件。
9.項目project是一些相互關(guān)聯(lián)的文件的集合,這些文件經(jīng)過編譯、連接,然后組合在一起形成可執(zhí)行的Windows應用程序或者DLL。項目文件不但指定了所有文件之間的依賴關(guān)系,而且還定義了編譯和連接選項。
10.以下是Developer Studio會建立的一些中間文件及描述:
- File Extension
- Description
- APS
- Supports ResourceView
- BSC
- Browser information file
- CLW
- Supports ClassWizard
- DEP
- Dependency file
- DSP
- Project file*
- DSW
- Workspace file*
- MAK
- External makefile
- NCB
- Supports ClassView
- OPT
- Holds workspace configuration
- PLG
- Builds log file