1. 前言
創(chuàng)新新互聯(lián),憑借10余年的成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計經(jīng)驗(yàn),本著真心·誠心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計網(wǎng)站有成百上千家案例。做網(wǎng)站建設(shè),選創(chuàng)新互聯(lián)。
這一課我們來做一些 C++ 開發(fā)前的準(zhǔn)備工作。
2. 編程的必要工具
依你看,對編程來說,什么軟件是必要的呢?
如果你認(rèn)真學(xué)了上一課,那你至少可以說出一種吧。
對了,就是編譯器。這個重要的程序可以把你的源代碼(用高級語言如 C 語言寫的指令)轉(zhuǎn)換成電腦可以理解的二進(jìn)制碼(只包含 0 和 1 的,類似 01100110001111011101010... )。
上一課我們也提了一下,每種高級語言都有對應(yīng)的編譯器(當(dāng)然對于 Python 這樣的解釋性語言,就不需要編譯了),光是 C++ 語言的編譯器就有很多。比較常用的有 G++( GNU C++ Compiler。GNU 是國際著名的自由軟件基金會,GNU 是「GNU is Not Unix」 ( GNU 不是 Unix )的遞歸縮寫法。老外總是那么頑皮,起名字也喜歡整一些編程的知識,比如 Linux 就是「Linux Is Not Unix」(Linux 不是 Unix)的遞歸。要不就用很多動物的名字或圖標(biāo),特別好玩)。
除了編譯器,我們還需要什么工具呢?
就不賣關(guān)子了,下面列出編程的基本工具:
文本編輯器 :用來寫源代碼的工具。理論上 Windows 操作系統(tǒng)的記事本或者 Linux 下的 VI 編輯器都可以作為文本編輯器來使用。但是,最好還是用一些更高級點(diǎn)的文本編輯器,比如可以支持代碼高亮顯示,方便你在代碼間跳轉(zhuǎn)等。個人非常推薦的文本編輯器是 Emacs,真的非常強(qiáng),跨平臺(蘋果 Mac OS,Windows,Linux等),自由定制,各種快捷鍵組合,收發(fā)郵件,看視頻,瀏覽網(wǎng)頁,瀏覽 PDF,沒有你做不到,只有想不到(略有夸張...),可以讓你編輯代碼非常高效。我之前使用的是 Vim,也是很不錯的,但是后來用了 Emacs ( Emacs,最強(qiáng)編輯器,沒有之一 本站下載地址:emacs),感覺還是更喜歡 Emacs一些?,F(xiàn)在我兩者都用。還有例如 Atom,Sublime,Notepad++ 也是挺好的,經(jīng)過配置和安裝一些插件,可以很強(qiáng)大。
編譯器 :已經(jīng)提過了,用來轉(zhuǎn)換(或叫編譯)你的源代碼成為二進(jìn)制碼。
調(diào)試器 :Debugger,用來跟蹤、發(fā)現(xiàn)程序里的錯誤的工具。這里出現(xiàn)一個新名詞,調(diào)試(Debug)。bug 是英語臭蟲,蟲子的意思,de 在英語里是一個表示「分離,除掉」的前綴,所以 Debug 的意思就是除臭蟲。一般把程序里的錯誤或者缺陷叫做 bug(臭蟲),據(jù)說是因?yàn)閭髌媾绦騿T Grace Hopper(格萊斯.霍普)有一次在 MARK II 計算機(jī)(就是那種早期的比較龐大的電腦)中發(fā)現(xiàn)了一只飛蛾,這只飛蛾導(dǎo)致了這臺電腦死機(jī)(夾在電腦里的繼電器之間),霍普用鑷子把飛蛾夾出來,用透明膠布貼到筆記本上,并注明「第一個發(fā)現(xiàn)蟲子(bug)的實(shí)例」。從此,人們就沿用了這個稱呼,用debug表示排除程序錯誤的行為?,F(xiàn)在霍普的筆記本,連同那只「呆萌」的飛蛾,陳列在美國歷史博物館里。
霍普的筆記本和光榮載入歷史的飛蛾
當(dāng)然,如果你有「冒險精神」,喜歡挑戰(zhàn),也可以不用調(diào)試器(通過一些小技巧也是可以自己找到錯誤所在的)。但是,我想一般來說你是會需要調(diào)試器的。
所以,我們就有兩個選擇了:
分開使用文本編輯器,編譯器和調(diào)試器這三種工具。雖然復(fù)雜一些,但是也行得通。特別在 Linux 環(huán)境下,不少程序員還是喜歡用這種方式來編程,可能不是裝,要的就是這個 feel,倍兒爽。
使用一種軟件,這種軟件集合了這三種工具的功能。這種軟件被稱為IDE(Integrated Development Environment,集成開發(fā)環(huán)境)。
一開始你可能會難以抉擇,到底用哪種呢?即使選擇了用 IDE,也會糾結(jié)到底用哪一個 IDE 好呢。
其實(shí)我們可以肯定的是:不論你選擇哪種工具,你都可以編寫你想要的程序。只是效率、個人習(xí)慣和特定平臺要求不同罷了。
個人淺見:
如果剛接觸 C++ 語言,盡量在 Linux 的命令行里學(xué)習(xí) C++ 語言編程。一開始不要過分依賴 IDE。
因?yàn)?IDE 做得太好了,都有提示,代碼自動補(bǔ)全,自動幫你添加代碼,你就不能學(xué)到很多,也記不牢。等編程水平好了一些,再用 IDE 不遲,那個時候 IDE 可以提高你的編程效率。一開始用 Emacs 或者 Vim 編寫 C++ 語言,用 G++ 編譯 C++ 語言,用 GDB(GNU Debugger)調(diào)試 C++ 語言,是不錯的選擇。
當(dāng)然了,我們還是會花比較多的篇幅介紹幾個常用的 IDE。
3. 選擇你的IDE
我們覺得有必要向大家展示幾個最著名的 IDE,這幾個都是免費(fèi)的:
Code::Blocks :個人比較喜歡的一款 IDE,免費(fèi),開源,跨平臺。在之后的課程里,我們會用 Code::Blocks 來做開發(fā),因?yàn)?Code::Blocks 的開發(fā)環(huán)境搭建起來太快了,不需要什么配置。
可以運(yùn)行在蘋果 Mac OS,Windows,Linux 等大多數(shù)操作系統(tǒng)上
Visual Studio :基礎(chǔ)版本是收費(fèi)的。但是幸好有一個 Visual Studio Express 的版本是免費(fèi)的。VS 功能很完備,而且調(diào)試器很強(qiáng)大。
只能運(yùn)行在 Windows 操作系統(tǒng)上
Xcode :作為蘋果的當(dāng)家 IDE,不得不說 Xcode 真的做得太棒了??梢杂脕黹_發(fā)基本的小程序,也可以編寫 iPhone 和 iPad 的 app(模擬器速度超快),和智能手表應(yīng)用,還可以和其他如 Unity 3D 引擎配合來編寫游戲。
只能運(yùn)行在蘋果 Mac OS X 操作系統(tǒng)上
Code::Blocks
Code::Blocks 是一款很不錯的 IDE,不過目前只有英文版,當(dāng)然網(wǎng)上也有漢化版本。不過既然學(xué)編程,就盡量把英語這關(guān)過了,也不需要太厲害的英語,基礎(chǔ)就好。畢竟?jié)h化版有的翻譯不到位,可能會影響使用。而且好的編程資源基本都是英語的。
請參看我的 對于程序員, 為什么英語比數(shù)學(xué)更重要? 如何學(xué)習(xí) 一文。
下載Code::Blocks
先去 Code::Blocks 的官方下載頁面:http://www.codeblocks.org/downloads/binaries
本站下載地址 code blocks
Windows 用戶請下載 .exe 結(jié)尾的文件,請注意要下載名字里有 mingw 的那個(比如 codeblocks-16.01mingw-setup.exe ),因?yàn)槿绻麤]有 mingw 這幾個字母的版本不包含編譯器,就會很麻煩。
Linux 用戶請下載對應(yīng)你的操作系統(tǒng)的版本。
蘋果 Mac 用戶請下載 CodeBlocks-13.12-mac.zip 。
安裝運(yùn)行Code::Blocks
Code::Blocks 的安裝太簡單了,就跟安裝 QQ 沒什么區(qū)別,一路默認(rèn)到底就好。
安裝完之后雙擊運(yùn)行,你可以看到如下圖的界面:
上圖中標(biāo)注了四個區(qū)域:
工具欄:有很多按鈕,但只有幾個是真正我們時常用到的。
項(xiàng)目文件列表區(qū):左邊的欄里面顯示了你的項(xiàng)目的所有文件
主界面:寫代碼的地方
通知欄:會看到運(yùn)行的錯誤,編譯的問題等等
如何來創(chuàng)建一個 C++ 語言的基本的控制臺應(yīng)用程序呢?
首先到菜單里,F(xiàn)ile -> New -> Project,會打開如下的窗口:
可以看到,Code::Blocks 支持非常多的程序類型,這些程序類型用到不同的庫,比如 SDL(開發(fā) 2D 程序),OpenGL(開發(fā) 3D 程序),Qt 和 wxWidgets,等等。
目前,這些圖標(biāo)很多都只是好看而已,因?yàn)槟氵€沒安裝對應(yīng)的庫,所有不能用。暫時我們只用最基本的 Console application(控制臺應(yīng)用,簡單來說就是會彈出一個框,里面顯示程序運(yùn)行的結(jié)果)。
選擇 Console application,點(diǎn)擊 Go 按鈕到下一步:
「Project Title」里面填寫你要創(chuàng)建的項(xiàng)目名稱,我們填的是著名的 HelloWorld?!窮older to create project in」 是選擇項(xiàng)目存放的路徑。
點(diǎn)擊 Next 到下一步:
這里我們不必更改什么,默認(rèn)就好。點(diǎn)擊 Finish(完成)結(jié)束配置,Code::Blocks 就會創(chuàng)建你的第一個項(xiàng)目了。
Visual Studio
下載 Visual Studio Express,去官方下載頁面 http://www.visualstudio.com/products/visual-studio-express-vs
選擇適合你的操作系統(tǒng)的版本來下載。
本站下載地址 visual studio 2013
因?yàn)樾【幨窃谔O果電腦上編輯文章的,所以就不多做演示了。請大家去參考網(wǎng)上的安裝和使用圖文教程。
安裝完運(yùn)行后應(yīng)該是與 Code::Blocks 類似的布局:
Xcode
Mac OS 操作系統(tǒng)里有不少 IDE,但是 Xcode 卻是廣大蘋果用戶的最愛。
不是所有的蘋果用戶都是程序員,所以蘋果沒有在 Mac OS 系統(tǒng)里預(yù)裝 Xcode,你需要到 Mac App Store(應(yīng)用商店)下載 Xcode(需要有蘋果賬戶,沒有可以注冊一個)。
安裝很方便,只要去 App Store 搜索 Xcode,然后點(diǎn)擊 Install(安裝),就安裝到應(yīng)用程序里了。將 Xcode 運(yùn)行起來:
然后選擇 Create a new Xcode project(創(chuàng)建一個新的 Xcode 項(xiàng)目),會彈出如下窗口:
選擇 OS X -> Application -> Command Line Tool,點(diǎn)擊 Next 到下一步:
Project Name 里填寫項(xiàng)目名稱,我們填了 HelloWorld。Language(語言)選擇 C++ 語言,點(diǎn) Next 下一步,會讓你選擇項(xiàng)目文件夾的存放路徑,隨便選擇。然后點(diǎn)擊 Finish 完成。
項(xiàng)目打開之后,點(diǎn)擊 三角形 按鈕,運(yùn)行,可以看到輸出了「Hello World!」:
4. 總結(jié)
一個程序要從開始編寫到能夠運(yùn)行,一般來說需要三種工具:文本編輯器,編譯器,調(diào)試器(當(dāng)然對于 Python 這樣的解釋性語言,就不需要編譯了)。
我們可以分開使用這三種工具來完成任務(wù)。但是比較方便的是使用 IDE(集成開發(fā)環(huán)境,混合了這三者)來開發(fā)。
Code::Blocks,Visual Studio(或 Visual C++),Xcode 是著名的 IDE,當(dāng)然還有很多優(yōu)秀的 IDE(例如 Eclipse),就不一一介紹了。IDE 只是工具。
5. 第一部分第三課預(yù)告
今天的課就到這里,一起加油吧!