C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

程式設計師聯盟發表於2017-04-28

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

-- 作者 謝恩銘 轉載請註明出處


《C++探索之旅》全系列

內容簡介


  1. 前言
  2. 程式設計的必要工具
  3. 選擇你的IDE
  4. 總結
  5. 第一部分第三課預告

1. 前言


經過上一課 C++探索之旅 | 第一部分第一課:什麼是C++ 之後,大家是不是摩拳擦掌,準備大幹一場了呢。

這一課我們來做一些 C++ 開發前的準備工作。

2. 程式設計的必要工具


依你看,對程式設計來說,什麼軟體是必要的呢?

如果你認真學了上一課,那你至少可以說出一種吧。

對了,就是編譯器。這個重要的程式可以把你的原始碼(用高階語言如 C 語言寫的指令)轉換成電腦可以理解的二進位制碼(只包含 0 和 1 的,類似 01100110001111011101010... )。

上一課我們也提了一下,每種高階語言都有對應的編譯器(當然對於 Python 這樣的解釋性語言,就不需要編譯了),光是 C++ 語言的編譯器就有很多。比較常用的有 G++( GNU C++ Compiler。GNU 是國際著名的自由軟體基金會,GNU 是「GNU is Not Unix」 ( GNU 不是 Unix )的遞迴縮寫法。老外總是那麼頑皮,起名字也喜歡整一些程式設計的知識,比如 Linux 就是「Linux Is Not Unix」(Linux 不是 Unix)的遞迴。要不就用很多動物的名字或圖示,特別好玩)。

除了編譯器,我們還需要什麼工具呢?

就不賣關子了,下面列出程式設計的基本工具:

  • 文字編輯器 :用來寫原始碼的工具。理論上 Windows 作業系統的記事本或者 Linux 下的 VI 編輯器都可以作為文字編輯器來使用。但是,最好還是用一些更高階點的文字編輯器,比如可以支援程式碼高亮顯示,方便你在程式碼間跳轉等。個人非常推薦的文字編輯器是 Emacs,真的非常強,跨平臺(蘋果 Mac OS,Windows,Linux等),自由定製,各種快捷鍵組合,收發郵件,看視訊,瀏覽網頁,瀏覽 PDF,沒有你做不到,只有想不到(略有誇張...),可以讓你編輯程式碼非常高效。我之前使用的是 Vim,也是很不錯的,但是後來用了 Emacs ( Emacs,最強編輯器,沒有之一 ),感覺還是更喜歡 Emacs一些。現在我兩者都用。還有例如 Atom,Sublime,Notepad++ 也是挺好的,經過配置和安裝一些外掛,可以很強大。

  • 編譯器 :已經提過了,用來轉換(或叫編譯)你的原始碼成為二進位制碼。

  • 偵錯程式 :Debugger,用來跟蹤、發現程式裡的錯誤的工具。這裡出現一個新名詞,除錯(Debug)。bug 是英語臭蟲,蟲子的意思,de 在英語裡是一個表示「分離,除掉」的字首,所以 Debug 的意思就是除臭蟲。一般把程式裡的錯誤或者缺陷叫做 bug(臭蟲),據說是因為傳奇女程式設計師 Grace Hopper(格萊斯.霍普)有一次在 MARK II 計算機(就是那種早期的比較龐大的電腦)中發現了一隻飛蛾,這隻飛蛾導致了這臺電腦當機(夾在電腦裡的繼電器之間),霍普用鑷子把飛蛾夾出來,用透明膠布貼到筆記本上,並註明「第一個發現蟲子(bug)的例項」。從此,人們就沿用了這個稱呼,用debug表示排除程式錯誤的行為。現在霍普的筆記本,連同那隻「呆萌」的飛蛾,陳列在美國曆史博物館裡。

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體
霍普的筆記本和光榮載入歷史的飛蛾

當然,如果你有「冒險精神」,喜歡挑戰,也可以不用偵錯程式(通過一些小技巧也是可以自己找到錯誤所在的)。但是,我想一般來說你是會需要偵錯程式的。

所以,我們就有兩個選擇了:

  1. 分開使用文字編輯器,編譯器和偵錯程式這三種工具。雖然複雜一些,但是也行得通。特別在 Linux 環境下,不少程式設計師還是喜歡用這種方式來程式設計,可能不是裝,要的就是這個 feel,倍兒爽。

  2. 使用一種軟體,這種軟體集合了這三種工具的功能。這種軟體被稱為IDE(Integrated Development Environment,整合開發環境)。

一開始你可能會難以抉擇,到底用哪種呢?即使選擇了用 IDE,也會糾結到底用哪一個 IDE 好呢。

其實我們可以肯定的是:不論你選擇哪種工具,你都可以編寫你想要的程式。只是效率、個人習慣和特定平臺要求不同罷了。

個人淺見:
如果剛接觸 C++ 語言,儘量在 Linux 的命令列裡學習 C++ 語言程式設計。一開始不要過分依賴 IDE。

因為 IDE 做得太好了,都有提示,程式碼自動補全,自動幫你新增程式碼,你就不能學到很多,也記不牢。等程式設計水平好了一些,再用 IDE 不遲,那個時候 IDE 可以提高你的程式設計效率。一開始用 Emacs 或者 Vim 編寫 C++ 語言,用 G++ 編譯 C++ 語言,用 GDB(GNU Debugger)除錯 C++ 語言,是不錯的選擇。

當然了,我們還是會花比較多的篇幅介紹幾個常用的 IDE。

3. 選擇你的IDE


我們覺得有必要向大家展示幾個最著名的 IDE,這幾個都是免費的:

  • Code::Blocks :個人比較喜歡的一款 IDE,免費,開源,跨平臺。在之後的課程裡,我們會用 Code::Blocks 來做開發,因為 Code::Blocks 的開發環境搭建起來太快了,不需要什麼配置。
    可以執行在蘋果 Mac OS,Windows,Linux 等大多數作業系統上

  • Visual Studio :基礎版本是收費的。但是幸好有一個 Visual Studio Express 的版本是免費的。VS 功能很完備,而且偵錯程式很強大。
    只能執行在 Windows 作業系統上

  • Xcode :作為蘋果的當家 IDE,不得不說 Xcode 真的做得太棒了。可以用來開發基本的小程式,也可以編寫 iPhone 和 iPad 的 app(模擬器速度超快),和智慧手錶應用,還可以和其他如 Unity 3D 引擎配合來編寫遊戲。
    只能執行在蘋果 Mac OS X 作業系統上

Code::Blocks


Code::Blocks 是一款很不錯的 IDE,不過目前只有英文版,當然網上也有漢化版本。不過既然學程式設計,就儘量把英語這關過了,也不需要太厲害的英語,基礎就好。畢竟漢化版有的翻譯不到位,可能會影響使用。而且好的程式設計資源基本都是英語的。

請參看我的 對於程式設計師, 為什麼英語比數學更重要? 如何學習 一文。

下載Code::Blocks

先去 Code::Blocks 的官方下載頁面:www.codeblocks.org/downloads/b…

  • Windows 使用者請下載 .exe 結尾的檔案,請注意要下載名字裡有 mingw 的那個(比如 codeblocks-16.01mingw-setup.exe ),因為如果沒有 mingw 這幾個字母的版本不包含編譯器,就會很麻煩。

  • Linux 使用者請下載對應你的作業系統的版本。

  • 蘋果 Mac 使用者請下載 CodeBlocks-13.12-mac.zip 。

安裝執行Code::Blocks

Code::Blocks 的安裝太簡單了,就跟安裝 QQ 沒什麼區別,一路預設到底就好。

安裝完之後雙擊執行,你可以看到如下圖的介面:

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

上圖中標註了四個區域:

  1. 工具欄:有很多按鈕,但只有幾個是真正我們時常用到的。

  2. 專案檔案列表區:左邊的欄裡面顯示了你的專案的所有檔案

  3. 主介面:寫程式碼的地方

  4. 通知欄:會看到執行的錯誤,編譯的問題等等

如何來建立一個 C++ 語言的基本的控制檯應用程式呢?

首先到選單裡,File -> New -> Project,會開啟如下的視窗:

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

可以看到,Code::Blocks 支援非常多的程式型別,這些程式型別用到不同的庫,比如 SDL(開發 2D 程式),OpenGL(開發 3D 程式),Qt 和 wxWidgets,等等。

目前,這些圖示很多都只是好看而已,因為你還沒安裝對應的庫,所有不能用。暫時我們只用最基本的 Console application(控制檯應用,簡單來說就是會彈出一個框,裡面顯示程式執行的結果)。

選擇 Console application,點選 Go 按鈕到下一步:

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

「Project Title」裡面填寫你要建立的專案名稱,我們填的是著名的 HelloWorld。「Folder to create project in」 是選擇專案存放的路徑。

點選 Next 到下一步:

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

這裡我們不必更改什麼,預設就好。點選 Finish(完成)結束配置,Code::Blocks 就會建立你的第一個專案了。

Visual Studio


下載 Visual Studio Express,去官方下載頁面 www.visualstudio.com/products/vi…

選擇適合你的作業系統的版本來下載。

因為小編是在蘋果電腦上編輯文章的,所以就不多做演示了。請大家去參考網上的安裝和使用圖文教程。

安裝完執行後應該是與 Code::Blocks 類似的佈局:

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

Xcode


Mac OS 作業系統裡有不少 IDE,但是 Xcode 卻是廣大蘋果使用者的最愛。

不是所有的蘋果使用者都是程式設計師,所以蘋果沒有在 Mac OS 系統裡預裝 Xcode,你需要到 Mac App Store(應用商店)下載 Xcode(需要有蘋果賬戶,沒有可以註冊一個)。

安裝很方便,只要去 App Store 搜尋 Xcode,然後點選 Install(安裝),就安裝到應用程式裡了。將 Xcode 執行起來:

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

然後選擇 Create a new Xcode project(建立一個新的 Xcode 專案),會彈出如下視窗:

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

選擇 OS X -> Application -> Command Line Tool,點選 Next 到下一步:

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

Project Name 裡填寫專案名稱,我們填了 HelloWorld。Language(語言)選擇 C++ 語言,點 Next 下一步,會讓你選擇專案資料夾的存放路徑,隨便選擇。然後點選 Finish 完成。

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

專案開啟之後,點選 三角形 按鈕,執行,可以看到輸出了「Hello World!」:

C++ 探索之旅 | 第一部分第二課:C++ 程式設計的必要軟體

4. 總結


  1. 一個程式要從開始編寫到能夠執行,一般來說需要三種工具:文字編輯器,編譯器,偵錯程式(當然對於 Python 這樣的解釋性語言,就不需要編譯了)。

  2. 我們可以分開使用這三種工具來完成任務。但是比較方便的是使用 IDE(整合開發環境,混合了這三者)來開發。

  3. Code::Blocks,Visual Studio(或 Visual C++),Xcode 是著名的 IDE,當然還有很多優秀的 IDE(例如 Eclipse),就不一一介紹了。IDE 只是工具。

5. 第一部分第三課預告


今天的課就到這裡,一起加油吧!

下一課我們學習:第一個C++程式


微信公眾號「程式設計師聯盟」ProgrammerLeague
我是謝恩銘,在巴黎奮鬥的軟體工程師。
我的簡介
我的經歷
熱愛生活,喜歡游泳,略懂烹飪。
人生格言:「向著標杆直跑」

相關文章