從命令提示窗口使用 Visual C++ Toolkit 2003
從命令提示窗口使用 Visual C++ Toolkit 2003?
Brian Johnson
MSDN Visual C++ 內(nèi)容戰(zhàn)略家
適用于:
Visual Studio .NET 2003
Microsoft Visual C++ .NET 2003
Microsoft Visual C++ Toolkit 2003
摘要:在本文中,Brian Johnson 描述了如何從命令行使用 Visual C++ Toolkit 2003 隨附的 Microsoft Visual C++ 編譯器。本文適用于以前從未使用過命令行編譯器的初學(xué)者。
設(shè)計(jì) Visual C++ Toolkit 2003 軟件包的目的是,使開發(fā)人員能夠通過 Visual Studio .NET 2003 隨附的完全優(yōu)化編譯器來生成和測試應(yīng)用程序。該軟件包不是該產(chǎn)品完整版本的替代品;相反,它是一個(gè)使您能夠評(píng)估和探索優(yōu)化編譯器的子集。此外,它使您能夠生成適于學(xué)術(shù)研究的小型應(yīng)用程序。我撰寫本文的目的是,幫助剛剛接觸 C++ 的讀者了解如何從命令行使用 Visual C++ Toolkit 2003 編譯器來生成簡單的應(yīng)用程序。
Visual C++ Toolkit 2003 不包含任何種類的 IDE,因此您需要按照舊方式使用編譯器,通過文本編輯器和命令提示窗口來生成應(yīng)用程序。在本文中,我將概述通過 Visual C++ Toolkit 2003 并且只使用記事本和命令提示窗口生成和運(yùn)行應(yīng)用程序時(shí)所需要采取的步驟。
首先,您需要安裝 Visual C++ Toolkit 2003 軟件包。我們具有一個(gè)工具包主頁 (http://MSDN.microsoft.com/visualc/vctoolkit2003),它提供了指向下載中心頁的鏈接。請(qǐng)?jiān)L問該頁,下載并安裝編譯器。為了幫助您開始工作,您還可以查找相關(guān)文章和常見問題列表。
在安裝該工具包之后,您將在 Start 菜單中找到一個(gè)新的 Visual C++ Toolkit 2003 文件夾。該菜單包含一個(gè)指向 Visual C++ Toolkit 2003 自述文件的鏈接,并包含一個(gè)指向 Visual C++ Toolkit 2003 命令提示窗口的快捷方式。我們將完成從該快捷方式到命令提示窗口的所有工作,因此現(xiàn)在請(qǐng)繼續(xù)操作,單擊并打開它。
Visual C++ Toolkit 2003 命令提示窗口設(shè)置了很多通過該編譯器生成應(yīng)用程序所需的路徑和選項(xiàng)。編譯器需要的關(guān)鍵設(shè)置包括:
Set?PATH=C:Program?FilesMicrosoft?Visual?C++?Toolkit?2003bin;%PATH% Set?INCLUDE=C:Program?FilesMicrosoft?Visual?C++?Toolkit?2003include;%INCLUDE% Set?LIB=C:Program?FilesMicrosoft?Visual?C++?Toolkit?2003lib;%LIB%
這些設(shè)置將 Visual C++ Toolkit 2003 的路徑放在 PATH 變量的開頭。同樣,INCLUDE 變量設(shè)置了該工具包隨附的頭文件的路徑,而 LIB 變量設(shè)置了該工具包隨附的庫文件的路徑。頭文件聲明庫文件中提供的函數(shù),并且使它們可以從應(yīng)用程序中訪問。在本文中,我不會(huì)討論太多這方面的內(nèi)容,但是您可以在本文結(jié)尾找到一些用于學(xué)習(xí) C++ 的推薦書籍。
Microsoft C++ 命令行編譯器名為 CL.EXE。要使用該工具編譯 C++ 應(yīng)用程序,您通常要使用文本編輯器(例如,記事本)編寫應(yīng)用程序,用擴(kuò)展名 .cpp 保存該文件,然后調(diào)用該編譯器,并傳遞您要編譯的文件的名稱作為參數(shù)。現(xiàn)在,讓我們繼續(xù)執(zhí)行該工作。
按照慣例,在學(xué)習(xí)語言時(shí)生成的第一個(gè)應(yīng)用程序是 Hello World。這是一個(gè)簡單的應(yīng)用程序,它將單詞“Hello World!”輸出到命令提示窗口。標(biāo)準(zhǔn)的 C++ Hello World 應(yīng)用程序應(yīng)如下所示:
#includeusing??namespace?std; int?main() { ???cout?<<?"Hello?World!?n"; ???return?0; }
Hello.cpp
要測試這點(diǎn)兒代碼,請(qǐng)通過在 Visual C++ Toolkit 2003 命令提示窗口中鍵入以下內(nèi)容來創(chuàng)建一個(gè)新的文件夾:
mkdir?Hello
通過鍵入以下內(nèi)容導(dǎo)航到 Hello 文件夾:
cd?Hello
現(xiàn)在您已經(jīng)位于 Hello 文件夾中,下面請(qǐng)通過鍵入以下內(nèi)容來創(chuàng)建一個(gè)新的 Hello.cpp 文件:
notepad?Hello.cpp
記事本將打開并提示您創(chuàng)建新文件。將 Hello.cpp 清單中的代碼鍵入或粘貼到記事本中。在記事本中單擊 File,再單擊 Save,然后返回到 Visual C++ Toolkit 2003 命令提示窗口并鍵入:
cl?Hello.cpp
您將看到很多警告和消息,您現(xiàn)在可以安全地忽略它們。在列表的結(jié)尾,您應(yīng)當(dāng)看到以下消息:
Microsoft?(R)?Incremental?Linker?Version?7.10.3077 Copyright?(C)?Microsoft?Corporation.??All?rights?reserved. /out:hello.exe hello.obj
該消息表明 Hello.cpp 被編譯為 hello.obj,并且它被鏈接到適當(dāng)?shù)?C++ 庫以創(chuàng)建 Hello.exe 應(yīng)用程序。您可以通過在命令提示窗口中鍵入 hello 來測試 Hello.exe 應(yīng)用程序。您應(yīng)當(dāng)看到以下消息。
C:Program?FilesMicrosoft?Visual?C++?Toolkit?2003Hello>hello Hello?World!
我在前面提到過,您在編譯該應(yīng)用程序時(shí)可能看到過一些警告,其中包括有關(guān) C++ 異常處理程序以及是否啟用展開語義的警告。在本文中,我將不會(huì)討論這一特定主題,但是您可以在編譯命令中指定 /EHsc 命令行選項(xiàng),以便指定同步異常處理模型,并使這些消息消失:
cl?/EHsc?Hello.cpp
現(xiàn)在您已經(jīng)打開了 Visual C++ Toolkit 2003 命令提示窗口,下面請(qǐng)查看一下 Visual C++ 編譯器所提供的選項(xiàng)的數(shù)量。要獲得該列表,請(qǐng)用 /help 選項(xiàng)運(yùn)行該編譯器。
cl?/help
這個(gè)大型選項(xiàng)列表對(duì)于現(xiàn)代的 C++ 編譯器而言是很常見的,它應(yīng)當(dāng)向您提供有關(guān)編譯器復(fù)雜程度的一些暗示。您可以在 Visual C++ Compiler Options 頁上獲得有關(guān)編譯器選項(xiàng)的詳細(xì)信息。
現(xiàn)在您已經(jīng)了解了如何使用 Visual C++ Toolkit 2003 生成和運(yùn)行非常簡單的應(yīng)用程序,接下來您應(yīng)當(dāng)能夠生成和測試介紹性的 C++ 書籍中可能包含的任何示例。如果您對(duì)于 C++ 還非常陌生,那么我建議您閱讀下面的一些介紹性書籍:
Stan Lippman 和 Josee Lajoie 撰寫的 C++ Primer
Stephen Randy Davis 撰寫的 C++ for Dummies
Harvey M. Deitel 和 Paul J. Deitel 撰寫的 C++: How to Program
如果您已經(jīng)具有編程背景并且希望立即開始使用 C++,那么我建議您閱讀由 Stan Lippman 撰寫的 Essential C++。
您可以通過閱讀由 Kate Gregory 撰寫的優(yōu)秀文章(它們隨附在工具包中)來繼續(xù)探索 Visual C++ Toolkit 2003。這些文章還可以從 MSDN 工具包主頁上聯(lián)機(jī)獲得。
在很多解釋如何使用 Visual C++ Toolkit 2003 來探索 C++ 的文章中,它們是其中的佼佼者。請(qǐng)隨時(shí)地通過 brianjo@microsoft.com 向我發(fā)送便條,以提供您對(duì)本文的意見,以及您希望看到的有關(guān)該主題的其他文章的建議。
關(guān)于作者
Brian Johnson 是 MSDN 安全和 Visual C++ 內(nèi)容戰(zhàn)略家。他與別人合著了 Inside Microsoft Visual Studio .NET 2003 一書。