正文

類型、變量與標(biāo)準(zhǔn)(3)

通過游戲編程實(shí)戰(zhàn)教新手學(xué)C++編程 作者:(美)Michael Dawson


提示

以上描述的過程只是一種很簡單的情況。用C++編寫復(fù)雜的應(yīng)用程序時,通常一個程序員(甚至是一個程序員團(tuán)隊(duì))會編寫多個源代碼文件。

為了讓該過程自動化,程序員通常會使用綜合性的開發(fā)工具——集成開發(fā)環(huán)境(Integrated Development Environment,IDE)。一個典型的IDE集合了編輯器、編譯器、鏈接器以及其他工具。Microsoft的Visual C++ Express Edition是Windows下一款比較流行(且免費(fèi))的IDE。在http://www.microsoft.com/express/上可以找到關(guān)于此IDE的更多信息(且能下載到一份副本)。

1.1.3  錯誤處理

在描述從C++源代碼生成可執(zhí)行文件的過程時,我們忽略了一個小細(xì)節(jié)——可能出現(xiàn)的錯誤。如果人類生來就要犯錯,那么程序員是人類中犯錯最多的。即使是最優(yōu)秀的程序員編寫的代碼在第一次(或者以后的好幾次)生成可執(zhí)行文件的過程中都要產(chǎn)生錯誤。程序員必須修正所有的錯誤,然后重新執(zhí)行整個生成過程。下面是使用C++編程會遇到的一些基本類型的錯誤:

● 編譯錯誤。這類錯誤發(fā)生在代碼編譯階段,后果是無法生成目標(biāo)文件。這種錯誤可能是語法錯誤,意思是編譯器無法理解某些代碼。語法錯誤經(jīng)常是由像輸入錯誤這樣的簡單錯誤導(dǎo)致的。編譯器還能發(fā)出警告。盡管通常情況下不必在意警告,但還是應(yīng)該將它們當(dāng)做錯誤來對待,進(jìn)行修復(fù)并重新編譯。

● 鏈接錯誤。這類錯誤發(fā)生在鏈接過程中,并可能提示無法找到程序的某些外部引用。解決辦法通常是調(diào)整程序中出現(xiàn)問題的引用關(guān)系,然后重新編譯/鏈接。

● 運(yùn)行時錯誤。這類錯誤發(fā)生在可執(zhí)行文件的運(yùn)行過程中。如果程序執(zhí)行了某些非法操作,那么有可能突然崩潰。但是有一種更難以捉摸的運(yùn)行時錯誤(邏輯錯誤)能讓程序以出人意料的方式運(yùn)行。如果您曾經(jīng)玩過某個游戲,里面的某個角色能在空中行走(而這個角色不應(yīng)該有能力在空中行走),那么所看到的就是一個邏輯錯誤。

現(xiàn)實(shí)世界

游戲公司和其他軟件制造商一樣努力使自己的產(chǎn)品沒有錯誤。他們最后的防線是質(zhì)量保證人員(游戲測試員)。游戲測試員以玩游戲?yàn)樯?,但他們的工作不像想象的那樣有趣。測試員必須重復(fù)地測試游戲的同一部分(也許有幾百次),嘗試異常情況并且詳細(xì)記錄任何異常。這種工作十分單調(diào),薪酬也不高。但是眾所周知,成為測試人員是進(jìn)入游戲公司的一種極佳方式。

1.1.4  理解ISO標(biāo)準(zhǔn)

C++的ISO標(biāo)準(zhǔn)對C++進(jìn)行了定義,并準(zhǔn)確地描述了其工作方式。它還定義了一組稱為標(biāo)準(zhǔn)庫的文件,其中包含用于完成一般編程任務(wù)(如I/O,即獲取輸入和顯示輸出)的程序塊。標(biāo)準(zhǔn)庫讓程序員的工作變得簡單,而且還提供了基礎(chǔ)性代碼以防止程序員重復(fù)編寫代碼。本書中的所有程序都將使用標(biāo)準(zhǔn)庫。

提示

ISO標(biāo)準(zhǔn)經(jīng)常稱為ANSI標(biāo)準(zhǔn)或ANSI/ISO標(biāo)準(zhǔn)。不同的名稱代表了審核與建立該標(biāo)準(zhǔn)的不同委員會的首字母縮寫。遵循ISO標(biāo)準(zhǔn)的C++代碼最常見的叫法是標(biāo)準(zhǔn)C++。

本書使用了Microsoft的Visual C++ 2010 Express Edition來開發(fā)程序。它的編譯器嚴(yán)格遵循ISO標(biāo)準(zhǔn),所以其他現(xiàn)代編譯器也應(yīng)該能夠編譯、鏈接和運(yùn)行本書的所有程序。然而,如果您正在使用的是Windows操作系統(tǒng),推薦使用Visual C++。

提示

附錄A中描述了使用Microsoft Visual C++ 2010 Express Edition創(chuàng)建、保存、編譯和運(yùn)行Game Over程序的詳細(xì)步驟。如果使用其他編譯器或者IDE,請查閱其文檔。


上一章目錄下一章

Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號