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


閱讀排行
本欄相關(guān)
- 04-02c語言函數(shù)調(diào)用后清空內(nèi)存 c語言調(diào)用
- 04-02func函數(shù)+在C語言 func函數(shù)在c語言中
- 04-02c語言的正則匹配函數(shù) c語言正則表達(dá)
- 04-02c語言用函數(shù)寫分段 用c語言表示分段
- 04-02c語言中對(duì)數(shù)函數(shù)的表達(dá)式 c語言中對(duì)
- 04-02c語言編寫函數(shù)冒泡排序 c語言冒泡排
- 04-02c語言沒有round函數(shù) round c語言
- 04-02c語言分段函數(shù)怎么求 用c語言求分段
- 04-02C語言中怎么打出三角函數(shù) c語言中怎
- 04-02c語言調(diào)用函數(shù)求fibo C語言調(diào)用函數(shù)求
隨機(jī)閱讀
- 04-02jquery與jsp,用jquery
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-11ajax實(shí)現(xiàn)頁面的局部加載