VC完全學(xué)習(xí)手冊_01_第1頁
VC完全學(xué)習(xí)手冊_01_第2頁
VC完全學(xué)習(xí)手冊_01_第3頁
免費預(yù)覽已結(jié)束,剩余13頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第一篇Visual C+ 2008基礎(chǔ)知識第1章開始使用 Visual C+ 2008在Visual C+ 2008 中可以采用多種方式編寫Windows應(yīng)用程序,既可以編寫基于本地C+的Windows程序,也可以在托管環(huán)境下開發(fā)Windows程序。在接觸 Windows編程之前,必須熟悉C+編程語言,特別是 C+語言的面向?qū)ο蠊δ?。本章主要概述了C+編程涉及到的一些基本概念,以及C+的集成開發(fā)環(huán)境VisualStudio 2008 的使用。? 了解.NET Framework 3.5 的概念?熟悉C+應(yīng)用程序?創(chuàng)建控制臺應(yīng)用程序?編譯、連接并執(zhí)行 C+控件臺應(yīng)用程序?創(chuàng)建并執(zhí)行基本的 Win

2、dows應(yīng)用程序1.1 .NET Framework 3.5.NET Framework是Visual C+ 2008以及微軟所有其他.NET開發(fā)產(chǎn)品的核心,它是微軟 近年來主推的應(yīng)用程序開發(fā)框架,該框架提供跨平臺和跨語言的特性。使用.NET Framework,并配合其集成開發(fā)環(huán)境Visual Studio,開發(fā)人員可以比以往更輕松地創(chuàng)建出功能強大的應(yīng)用程序。1.1.1 什么是.NET Framework現(xiàn)在的計算機編程語言的執(zhí)行方式分為兩種,一種是編譯執(zhí)行,一種是解釋執(zhí)行。編譯 執(zhí)行是指源程序代碼先由編譯器編譯成可執(zhí)行的機器碼,然后再執(zhí)行;解釋執(zhí)行是指源代碼 程序被解釋器直接讀取執(zhí)行。上面

3、這些都是比較傳統(tǒng)的程序代碼執(zhí)行方式,從Java語言開始,一種新的程序語言執(zhí)行方式產(chǎn)生了,這就是“中間碼+虛擬機”執(zhí)行機制。在這種執(zhí)行方式中,程序語言源代碼需要.NET被編譯成一種特殊的中間碼,這種中間碼是不能直接在機器上執(zhí)行的,它需要一個叫“虛擬 機”的裝置來管理和執(zhí)行,虛擬機可以是解釋執(zhí)行,也可以是編譯執(zhí)行。因為“虛擬機”可 以參與和管理程序代碼的執(zhí)行,因此解決了很多傳統(tǒng)編譯語言一些致命的缺點,如垃圾存回 收、安全性檢查和跨平臺等。正因為Java有如此優(yōu)點,微軟也采用了這種執(zhí)行方式,F(xiàn)ramework 類似于管理和執(zhí)行中間碼的“虛擬機”需要注意, .NET Framework 和 Java

4、的虛擬機 JVM 是不完全相同的, Java 的虛擬機是解 釋執(zhí)行的,而 .NET Framework 是編譯執(zhí)行的。另外, .NET Framework 作為開發(fā)應(yīng)用程序的一 個框架,它對操作系統(tǒng)進行封裝,需要使用 .NET Framework 開發(fā)的應(yīng)用程序與操作系統(tǒng)特性 隔離開來。這樣, .NET Framework 開發(fā)的應(yīng)用程序就可以移植到許多不同的硬件和操作系統(tǒng) 上。事實上, .NET Framework 的主要特色在于簡化應(yīng)用程序開發(fā)的復(fù)雜性。它提供了一致的 開發(fā)模型,開發(fā)人員可以選擇任何支持 .NET 的編程語言來進行多種類型的應(yīng)用程序開發(fā),例 如 Visual Basic.N

5、ET 、C#和 C+.NET。.NET Framework 由兩個主要部分組成: CLR(Common Language Runtime ,公共語言運行 庫)和一組供使用的 .NET Framework 類庫。1.1.2 公共語言運行庫 CLR公共語言運行庫 CLR是標準化的程序執(zhí)行環(huán)境。這些可以在CLR中執(zhí)行的程序可以是用各種高級語言編寫的,比如Visual Basic、C#,以及C+?,F(xiàn)在CLR規(guī)收錄在ECMA(歐洲計算機制造)的 CLI (通用語言基礎(chǔ)結(jié)構(gòu))標準一一ECMA-335中,并且CLI已經(jīng)通過ISO認可,作為ISO/IEC 23271的標準。也就是說,CLR是微軟對 CLI的實

6、現(xiàn)。這也就是為什么將支持CLR的 C+稱為 C+/CLI。CLI 本質(zhì)上是一種虛擬機環(huán)境規(guī),這種環(huán)境規(guī)使各種高級編程語言編寫的應(yīng)用程序能夠 在不同的系統(tǒng)環(huán)境中執(zhí)行,而不用修改或重新編譯原來的源代碼。CLI 規(guī)定了一種供虛擬機使用的標準中間語言,高級語言源代碼首先將被編譯為這種語言。在.NET Framework 中,這種中間語言稱為 MSIL( Microsoft 中間語言)代碼。執(zhí)行程序時,中間語言代碼最終由JITJust-In-Time ,實時)編譯器編譯為本地機器代碼。當(dāng)然, CLI 中間語言代碼可以在任何實 現(xiàn) CLI 標準的環(huán)境中執(zhí)行。在開發(fā)應(yīng)用程序時,使用一種高級語言編寫的程序很難

7、與使用另一種高級語言編寫的程 序進行數(shù)據(jù)交換,這是許多編程語言存在的一個共同問題。為此,CLI 定義了一組通用的數(shù)據(jù)類型CTS (Common Type System,通用類型系統(tǒng)),在使用由 CLI實現(xiàn)的編程語言編寫程序時都應(yīng)該使用該類型系統(tǒng)。這樣, CLI 中的各種高級語言都會使用相同的數(shù)據(jù)類型系統(tǒng), 從而使得不同編程語言編寫的組件以相同的方式處理數(shù)據(jù),也可以使得將不同語言編寫的組 件集成到單個應(yīng)用程序中。CLR大大增強了數(shù)據(jù)的安全性和程序的可靠性。因為在CLR中運行的程序是托管的,即CLR 管理著應(yīng)用程序,它會對程序的存進行管理,并對程序執(zhí)行的安全性進行檢查等。與此 相反,不在 CLR控

8、制下運行應(yīng)用程序是非托管的。非托管程序可以直接訪問操作系統(tǒng)的低級 功能,對于托管程序則是通過CLR與操作系統(tǒng)通信。1.1.3 .NET Framework 類庫關(guān)于類庫的概念一直就存在,以前的Visual C+為MFC類庫,Delphi的類庫為 VCL, Java的類庫為 Swing、AWT等。這些類庫封裝了系統(tǒng)底層的功能并提供更好的操作方式。.NETFramework中的類庫圭寸裝了對 Windows、網(wǎng)絡(luò)、文件、多媒體的處理功能, 是所有.NET Framework 語言都必須使用的核心類庫。并且,為了便于語言之間進行交互操作,.NET Framework類庫中的類型都是符合公共類型系統(tǒng)C

9、LS的。使用類庫可以創(chuàng)建多種類型的應(yīng)用程序,極大簡化了開發(fā)人員的學(xué)習(xí)曲線,提高了軟件開發(fā)生產(chǎn)力。1.1.4 .NET Framework 3.5 的新功能從微軟公司發(fā)布第一個 .NET Framework以來,已經(jīng)陸續(xù)發(fā)布了1.0版、1.1版、2.0版和3.0版。.NET Framework 3.2 版是目前最新的版本,也是功能最強大和完美的一個版本。開發(fā)人員可以使用.NET Framework創(chuàng)建Web程序、Windows以及智能設(shè)備應(yīng)用程序等。Visual C+ 2008 所使用的.NET Framework 為 3.5 版。.NET Framework 3.5 版是以.NET Frame

10、work 2.0 版和.NET Framework 3.0 版為基礎(chǔ)的,包括 .NET Framework 2.0 和 3.0 版的 Service Pack 。.NET Framework 2.0 改進了 .NET Framework 1.1 中的許多問題,并增加了如泛型、可空類型、匿名方法等新特性。.NET Framework 3.0 則以.NET Framework 2.0 為基礎(chǔ),增加了 3種全新的技術(shù)。Windows Presentation Foundation(WPF)Windows 表現(xiàn)層技術(shù)。WCFWindows 通信技術(shù)。WF Windows工作流開發(fā)技術(shù)。.NET Fra

11、mework3.5則以3.0為基礎(chǔ),增加了對 ASP.NET AJAX的直接支持,并提供了語 言集成查詢LINQ技術(shù)以及一些附加的類庫。1.2 C+應(yīng)用程序使用Visual C+ 2008可以開發(fā)兩種類型的應(yīng)用程序,即在CLR中執(zhí)行的托管程序,也可以編寫直接編譯為機器代碼的非托管程序。就針對CLR的、基于窗口的托管應(yīng)用程序而言,可以使用.NET Framework類庫提供的 Windows Forms作為 GUI基礎(chǔ)。使用 Windows Forms可 以快速開發(fā) GUI程序,因為 Visual C+ 2008 開發(fā)環(huán)境提供了直觀的組件來開發(fā)GUI,而代碼是完全自動生成的。對于本地執(zhí)行的非托管

12、代碼, 則有多種方式可用。 一種是使用 MFC Microsoft Foundation Classses,微軟基本類)來編寫 Windows應(yīng)用程序的圖形界面。 MFC圭寸裝了 Windows操作系 統(tǒng)提供的用于創(chuàng)建 Win dows應(yīng)用程序的 API ( Application Programmi ng In terface,應(yīng)用程序編程接口),因此大大簡化了程序的開發(fā)過程。如果應(yīng)用程序需要最佳性能,還直接使用Windows API開發(fā)Windows應(yīng)用程序。由于托管C+是在CLR中執(zhí)行的,其數(shù)據(jù)和代碼都由CLR管理,所以在其中為數(shù)據(jù)動態(tài)分配的存是自動釋放的, 這就消除了本地 C+應(yīng)用程序

13、中常見的錯誤。 對于非托管的 C+程序, 因為CLR不參與這種代碼的執(zhí)行過程,因此程序員必須自己處理程序執(zhí)行過程中分配與釋放其代碼被直接編譯為本地機器代碼。各種C+程序的特點如圖1-1所示。也-NTT rriiiTicwurk 英車v-圖1-1 C+程序類型圖1-1列出的程序類型之間并不是完全獨立的。應(yīng)用程序可以部分代碼采用托管C+,而另一部分則使用本地C+代碼。當(dāng)然,混合使用代碼會造成一些損失,因為托管代碼組件與非托管代碼組件之間通信可能會產(chǎn)生相當(dāng)大的系統(tǒng)開銷。因此,只有當(dāng)需要開發(fā)或擴展非 托管代碼,而又希望使用托管代碼的優(yōu)點時,混合兩種代碼才有意義。對于新的應(yīng)用程序而 言,在最初就應(yīng)該決定

14、是否采用托管C+來開發(fā)程序。為了以后學(xué)習(xí)的方便,需要全面理解 C+,包括語言的本地 C+和 C+/CLI版本。以下是Visual C+ 2008支持的兩個獨立標準定義的C+版本。ANSI/ISO C+ 也稱為標準C+,用于實現(xiàn)本地非托管的C+應(yīng)用程序。標準 C+很早就出現(xiàn)了,多數(shù)計算機平臺都支持該版本的C+。ANSI/ISO C+ 一直是許多專業(yè)程序開發(fā)者的首選,而且目前仍然是功能最強大的編程語言之一。C+/CLI 運行在 CLR中的托管 C+,它是ISO/ASNI C+的擴展,以便更好地支持 ECMA-335標準定義的 CLI。該標準是在 2003年微軟公司為了支持C+程序而在.NETFra

15、mework執(zhí)行而提出的。雖然 C+/CLI是ISO/ANSI C+的擴展,但是如果希望程序 完全在CLR控制下執(zhí)行,那么有些ISO/ANSI C+的功能絕對是不能使用的。1.3 Visual C+ 2008與 Visual Studio 2008本書使用Visual Studio 2008進行所有的開發(fā),包括簡單的命令行應(yīng)用程序,以及比較 復(fù)雜的項目類型。盡管Visual Studio 2008不是開發(fā)C+應(yīng)用程序所必需的,可以使用基本的文本編輯器(如常見的記事本程序)編輯C+源代碼,再使用 C+編譯器對代碼進行編譯。但使用Visual Studio 2008可以使任務(wù)更簡單一些。Visua

16、l Studio 2008 是一個完整的開發(fā)環(huán)境。Visual C+ 2008 只是 Visual Studio 2008的一部分,在 Visual Studio 2008中還可以使用 Visual Basic.NET 和Visual C# 語言進行開發(fā)。如果是第一次運行 Visual Studio 2008,則屏幕上會顯示一個如圖1-2所示的“選擇默認環(huán)境設(shè)置”對話框。在其中選擇“ Visual C+開發(fā)設(shè)置”選項,表示使用Visual C+的開發(fā)環(huán)境。然后單擊“啟動Visual Studio”按鈕,系統(tǒng)將花幾分鐘的時間使配置環(huán)境生效。如果不是第一次運行Visual Studio 2008,

17、并且選擇了另一個選項,為了將設(shè)置重置為Visual C+開發(fā)環(huán)境,可以在打開Visual Studio 之后,選擇“工具”菜單中的“導(dǎo)入和導(dǎo)出設(shè)置”選項,打開配置文檔管理向?qū)?,如圖1-3所示。在該對話框中可以選擇導(dǎo)出當(dāng)前的環(huán)境設(shè)置,或?qū)脒x定的環(huán)境設(shè)置,這樣通過導(dǎo)出配置文檔,可以建立并共享自己的配置文 件。圖1-2“選擇默認環(huán)境設(shè)置”對話框圖1-3配置文檔管理向?qū)榱酥匦略O(shè)置當(dāng)前的開發(fā)環(huán)境,選擇“重置所有設(shè)置”選項,然后單擊“下一步”按鈕, 屏幕上會出現(xiàn)如圖 1-4所示的對話框,這個畫面有兩個選項,一是保存現(xiàn)有設(shè)定,二是放棄 保存現(xiàn)有設(shè)定。用戶可以按照自己的需要任意選擇,然后單擊“下一步”按鈕

18、。接下來就會出現(xiàn)如圖 1-5所示的對話框,在其中可以重新選擇默認的環(huán)境配置。D Jilt,禎右Stvdia 2D繪四匕口存1服密I 1f ±-snJM J圖1-4導(dǎo)入和導(dǎo)出設(shè)置耳武目羽甲舊曆刪詢營丁骨呼圖1-5 重新選擇默認環(huán)境配置由上可知,Visual Studio開發(fā)環(huán)境的布局是完全可定制的,但各個語言默認的設(shè)置比較適合各類語言的特點。在C+的開發(fā)環(huán)境設(shè)置如下,其布局如圖1-6所示。圖1-6 Visual Studio 2008集成開發(fā)環(huán)境在Visual Studio啟動時,主窗口會默認顯示一個介紹性的“起始頁”,該主窗口還會顯示所有的代碼。這個窗口可以包含許多文檔,每個文檔都有

19、一個標簽,單擊文件名,就可以 在文件之間切換。這個窗口也具有其他功能:它可以顯示圖形用戶界面,該界面可用于設(shè)計 項目,以及各種置于 Visual Studio的工具。在主窗口的上面包含菜單欄和工具欄。在工具欄中有幾個非常重要的工具按鈕,其功能 可以實現(xiàn)保存和加載文件、編譯和運行項目,以及調(diào)試控件等。在以后需要這些工具欄時將 會詳細討論它們。下面簡要描述Visual Studio中最常用的功能。將鼠標指針放在“工具箱”上,就會顯示“工具箱”工具欄,它們提供了Win dows應(yīng)用程序中常用的用戶界面控件。另一個標簽是“服務(wù)器資源管理器”,它包含了諸如數(shù)據(jù)源、服務(wù)器設(shè)置和服務(wù)等功能。在主窗口的左側(cè)窗

20、口中,單擊“解決方案資源管理器”標簽,就會在窗口會顯示當(dāng)前加載的解決方案的信息。解決方案是包含一個或多個項目及其配置的Visual Studio術(shù)語。下面將專門對解決方案進行解釋。與“解決方案資源管理器”標簽位于同一窗口的還包括“類視圖”和“屬性管理器”標簽。其中“類視圖”標簽可以顯示當(dāng)前項目中所包含的類,以及類所提供的方法等?!皩傩怨芾砥鳌睒撕灴梢燥@示窗體,以及窗體控件的設(shè)計屬性。在主窗口的底部是“輸出”窗口,“輸出”窗口會顯示程序編譯和時所產(chǎn)生的信息。Visual Studio還可以顯示許多其他窗口,它們都包含許多信息,有許多功能。其中的一些窗口會與上面提及的窗口位于相同的位置,使用標簽可

21、以切換它們。這些窗口并不需要 專門進行記憶,在 Visual Studio中開發(fā)程序時會經(jīng)常使用它們。下面介紹兩個重要的概念項目和解決方案。項目是構(gòu)成某個程序所需全部組件的容器,該程序可能是控制臺程序、基于窗口的程序 或者別的什么程序。程序通常由一個或多個包含用戶代碼的源文件,可能還要附加其他包含 輔助數(shù)據(jù)的文件組成。某個項目的所有文件都存儲在相應(yīng)的項目文件夾中,關(guān)于該項目的詳 細信息存儲在一個擴展名為.vcproj的XML文件中,該文件同樣存儲在相應(yīng)的項目文件夾中。項目文件夾還包括其他文件夾,它們用來存儲編譯及連接項目所產(chǎn)生的輸出文件。解決方案的含義正如其名稱,是一種將所有程序和其他資源聚集

22、到一起的機制。例如, 在企業(yè)的信息管理系統(tǒng)中可能由若干個不同的程序組成,而各個程序可能是作為同一個解決 方案的項目開發(fā)的,因此,解決方案就是存儲一個或多個有關(guān)項目的所有信息的文件夾,這 樣一個或多個項目文件夾就成為解決方案文件夾的子文件夾。與某個解決方案中的項目有關(guān) 信息被存儲在擴展名為.sin和.suo的兩個文件中。當(dāng)創(chuàng)建某個項目時, 如果沒有選擇將該項 目添加到現(xiàn)有的解決方案,則系統(tǒng)會自動創(chuàng)建一個新的解決方案。一般來說,可以將任意種類的項目添加到現(xiàn)有的解決方案中,但通常只添加在某個方面 與該解決方案現(xiàn)有項目相關(guān)的項目。本書所創(chuàng)建的各個實例都是其解決方案的單個項目。1.4 控制臺應(yīng)用程序控制

23、臺應(yīng)用程序是基于字符的命令行應(yīng)用程序,由于這些程序是用戶在字符模式過鍵盤和屏幕與它們通信的,完全不需要Windows程序所需的元素。即使簡單的 Windows程序中不會包含大量代碼,這些代碼也會分散學(xué)習(xí) C+時的注意力。因此,本書在前面介紹 C+基礎(chǔ)時, 均使用控制臺應(yīng)用程序。由于C+包括ISO/ANSI C+和C+/CLI兩個標準,所以可以創(chuàng)建兩種不同的控制臺應(yīng)用程序。Win32控制臺應(yīng)用程序編譯為本地代碼,通過這類程序可以測試ISO/ANSI C+的功能。CLR控制臺應(yīng)用程序是針對CLR的,因此將在學(xué)習(xí) C+/CLI功能時使用。1.4.1 Win32 控制臺應(yīng)用程序箕圖1-7 “新建項目”

24、對話框現(xiàn)在來看一下如何創(chuàng)建Win32控制臺應(yīng)用程序。(1) 首先選擇“文件” | “新建” | “項目”, 打開如圖1-7所示的“新建項目”對話框?!靶陆椖俊睂υ捒虻淖髠?cè)窗口顯示了可以 創(chuàng)建的項目類型,在這個示例中選擇Win32選項。該操作同時也確定了為本項目創(chuàng)建初始容 的應(yīng)用程序向?qū)?。右?cè)窗口顯示了可供左側(cè)窗 口中選定項目類型所使用的模板列表。當(dāng)創(chuàng)建 構(gòu)成項目的文件時,應(yīng)用程序向?qū)⑹褂眠x中 的模板。選擇項目類型后, 可以在“名稱”編輯框中為該項目輸入一個合適的名稱,如Exce1_01。Visual C+ 2008支持長文件名,這給用戶很大的靈活性。解決方案文件夾的名稱出現(xiàn)在底部編輯框中,

25、默認情況下,該名稱與項目的名稱相同。當(dāng)然,也可以修改解決方案名稱。在 該對話框中,還可以修改包含本項目的解決方案的位置,這可以在“位置”編輯框中修改。 如果僅僅輸入項目名稱,則解決方案文件夾就自動被設(shè)置為與項目同名的文件夾,其存儲路 徑顯示在“位置”編輯框。如果想為解決方案文件夾指定不同的路徑,那么只需要在“位置” 編輯框中輸入新路徑即可,另外還可以使用“瀏覽”按鈕為解決方案選擇其他路徑。圖1-8 Win32 應(yīng)用程序向?qū)?2) 單擊“確定”按鈕,顯示如圖1-8所示的 Win32應(yīng)用程序向?qū)АT撓驅(qū)υ捒蝻@示當(dāng)前有效的設(shè)置。如果單擊“完成”按鈕,則該向?qū)?chuàng)建基于這些 設(shè)置的所有項目文件。也可

26、以選擇左邊的“應(yīng)用程序設(shè)置”選項,以顯示該向?qū)У膽?yīng)用程序 設(shè)置頁面,如圖 1-9所示。Ct酣=1葉璋C怦理啊養(yǎng)序口 qp& +1*35. FlL;上一多丨1 簸砒圖1-9應(yīng)用程序設(shè)置在應(yīng)用程序設(shè)置對話框中允許用戶選擇那些希望應(yīng)用到本項目的選項。大多數(shù)情況下, 只需要在創(chuàng)建項目時選中“空項目”復(fù)選框。但在本示例中將采用默認選項,并單擊“完成” 按鈕,應(yīng)用程序向?qū)?chuàng)建一個包含所有默認文件的項目。(3)應(yīng)用程序向?qū)詣由赏暾?、可以編譯和執(zhí)行的Win32控制臺程序。但是,該程序運行時不做任何事情,因此用戶需要根據(jù)自己的需要對其進行修改。一般情況下,應(yīng)用 程序向?qū)г谏身椖亢髸詣釉谥?/p>

27、窗口打開程序的源代碼。如果該程序源代碼在主窗口是不 可見的,則可以雙擊左側(cè)“解決方案管理”窗口中的Exce1_01.cpp。該文件是應(yīng)用程序向?qū)樵摮绦蛏傻闹饕次募鐖D1-10所示。圖1-10 主代碼編輯窗口如果代碼編輯窗口未顯示行號,則可以通過主菜單選擇“工具”I “選項”,打開“選項”對話框。然后展開右側(cè)窗口中的“文本編輯器”| C/C+選項,從右側(cè)窗口中選擇“行號”選項。顯示行號可以方便用戶確認編譯過程出現(xiàn)錯誤的代碼行?,F(xiàn)在修改程序,在命令提示符 窗口中輸入一行字符串。#include "stdafx.h"#include "iostream"

28、; int _tmain(int argc, _TCHAR* argv)std:cout<<"第一個 Win32 控制臺程序 n" return 0;現(xiàn)在不必仔細研究這個項目中使用的代碼,只需要知道如何使用Visual C+ 2008 。(4)按F7鍵或選擇菜單項“生成”| “生成解決方案”構(gòu)建解決方案。成功構(gòu)建了上面的示例方案后,會在項目文件夾中生成一個新的子文件夾Debug,該文件夾包含構(gòu)建項目時產(chǎn)生的輸出文件。 Visual C+ 2008 會自動創(chuàng)建應(yīng)用程序的兩種版本:Debug版本和Release版本。在 Debug版本中包括了幫助用戶調(diào)試程序的信息,

29、以方便程序進行調(diào)試。Release版本則不包括調(diào)試信息,并且編譯器對代碼進行了優(yōu)化,以提高程序的運行效率。通過主菜單“生成”| “配置管理器”可以打開“配置管理器”對話框,如圖1-11所示。在“配置管理器”對話框中的“活動解決方案配置”下拉列表中進行選擇,可以決定使 用哪個程序配置。當(dāng)開發(fā)應(yīng)用程序時,應(yīng)該使用調(diào)試配置。在使用調(diào)試配置測試過應(yīng)用程序 后,通常應(yīng)該將程序重新構(gòu)建成Release版本,這樣才能對應(yīng)用程序代碼進行優(yōu)化,使程序運行更快,而且占用更少的存。(5 )在成功編譯解決方案后,可以按Ctrl+F5組合鍵來執(zhí)行程序。程序的運行效果如圖1-12所示。圖1-11“配置管理器”對話框圖1-

30、12運行結(jié)果142創(chuàng)建CLR控制臺程序上面創(chuàng)建了一個 Win32控制臺程序,并添加了少量的 ISO/ASNS C+代碼,使其在命令行 提示符窗口輸出一行字符串。接下來將創(chuàng)建CLR控制臺程序,并使用 C+/CLI代碼實現(xiàn)相同的功能。(1 )按Ctrl+Shift+N組合鍵顯示“新建項目”對話框,然后選擇CLR項目類型,并選擇“CLR控制臺應(yīng)用程序”模板,如圖1-13所示。輸入項目名稱后,單擊“確定”按鈕后,系統(tǒng)將創(chuàng)建該項目的文件。查看“解決方案資 源管理器”窗口,可以發(fā)現(xiàn)CLR控制臺應(yīng)用程序比 Win32控制臺程序多了幾個文件,如圖1-14 所示。圖1-13 創(chuàng)建CLR控制臺應(yīng)用程序圖1-14

31、CLR控制臺應(yīng)用程序的文件在資源文件夾中,.ico文件保存程序最小化時要顯示的圖標, .re文件記錄該應(yīng)用程序 中使用的資源。在源文件夾中,有一個名為Assemblylnfo.cpp 的文件。每個CLR程序都由一個或多個部 件(部件就是形成功能單元的代碼和資源的集合)組成,部件中會包含大量供CLR使用的數(shù)據(jù),其中包括所用數(shù)據(jù)類型的規(guī)、代碼的版本信息以及本部件容能否被其他部件訪問的信息。而在AssemblyInfo.cpp 文件中就定義了構(gòu)成 CLR程序的部件。(2 )修改程序的源代碼文件,在命令提示符窗口顯示想要顯示的文本。#include "stdafx.h"using

32、namespace System;int main(array<System:String A> Aargs)Console:WriteLine(L" 第一個 CLR控制臺程序"); return 0;1-15所示。圖1-15 CLR控制臺程序運行效果1.5 創(chuàng)建 Windows應(yīng)用程序Windows程序具有不同的結(jié)構(gòu),而且更復(fù)雜。與典型的從命令行執(zhí)行的控制臺程序相比,(3)按Ctrl+F5鍵,可以編譯并執(zhí)行上面的程序。其輸出如圖首先,在控制臺程序中可以直接獲取鍵盤的輸入,并將輸出直接寫到命令行。但Win dows程序只能利用Win dows操作系統(tǒng)提供的函數(shù)來

33、訪問計算機的輸入和輸出設(shè)備,直接訪問硬件資 源是不允許的。因為在Windows下面可能會同時運行多個程序,所以Windows系統(tǒng)必須確定輸入是針對哪個應(yīng)用程序的,然后相應(yīng)地通知有關(guān)的程序。也就是說,Windows操作系統(tǒng)控制了用戶與應(yīng)用程序之間的通信。圖1-16列出了 Windows程序與 Windows操作系統(tǒng),以及輸入輸出設(shè)備之間的交互關(guān)系。Windows程序是其于消息驅(qū)動的,用戶在Windows操作系統(tǒng)進行的所有操作都會被系統(tǒng)轉(zhuǎn)化為消息,然后放置到Windows應(yīng)用程序的消息隊列中,最后由應(yīng)用程序從消息隊列中獲取消息進行響應(yīng)。箭頭3表示W(wǎng)indows應(yīng)用程序可以通知操作系統(tǒng)執(zhí)行某個具體的

34、動作,例如,通知操作系統(tǒng)在顯示器上顯示一行文本。從Windows應(yīng)用程序的基本工作機制可以看出,即使是最基本的Windows程序也需要包含若干行代碼,以便于操作系統(tǒng)進行交互。在使用Visual C+ 2008 開發(fā)Windows程序時,應(yīng)用程序向?qū)鶕?jù)用戶的設(shè)置生成一個基本的Windows程序。圖1-16 Windows 應(yīng)用程序工作原理與控制臺程序一樣,Visual C+ 2008也可以創(chuàng)建兩種不同的Windows應(yīng)用程序:使用MFC的本地C+應(yīng)用程序和在CLR中運行的Windows Forms應(yīng)用程序。1.5.1 創(chuàng)建MFC應(yīng)用程序創(chuàng)建MFC應(yīng)用程序的操作步驟如下。(1)要創(chuàng)建 Windows程序可以選擇“文件” | “新建” | “項目”菜單,或直接按Ctrl+Shift+N 組合鍵,然后在“新建項目”對話框中選擇項目類型為MFC并選擇“ MFC應(yīng)用程序”作為該項目的模板,如圖 1-17所示。頂冃址t)|j0工|盤【Ptimv u4c生呂* CIS 盡iMlkA wt 常盂曲r解郵帕ii nil» evu-iM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論