做者 謝恩銘,公衆號「程序員聯盟」(微信號:coderhub)。 轉載請註明出處。 原文:www.jianshu.com/p/bcdfbf661…程序員
《C++探索之旅》全系列編程
通過上一課 C++探索之旅 | 第一部分第一課:什麼是C++ 以後,你們是否是摩拳擦掌,準備大幹一場了呢?小程序
這一課咱們來作一些 C++ 開發前的準備工做。微信
依你看,對編程來講,什麼軟件是必要的呢?app
若是你認真學了上一課,那你至少能夠說出一種吧。eclipse
對了,就是編譯器。這個重要的程序能夠把你的源代碼(用高級語言如 C語言寫的指令)轉換成電腦能夠理解的二進制碼(只包含 0 和 1 的,相似 01100110001111011101010
)。編程語言
上一課咱們也提了一下,每種高級語言都有對應的編譯器(固然,對於 Python 這樣的解釋性語言,就不須要編譯了。不過深究的話,Python 也是先編譯爲字節碼,再由虛擬機解釋執行的),光是 C++ 語言的編譯器就有不少。比較經常使用的有 G++(GNU C++ Compiler。GNU 是國際著名的自由軟件基金會,GNU 是 "GNU is Not Unix"(表示「GNU 不是 Unix」)的遞歸縮寫法。編輯器
老外老是那麼頑皮,起名字也喜歡整一些編程的知識,好比 Linux 就是 "Linux Is Not Unix"(表示「Linux 不是 Unix」)的遞歸。要不就用不少動物的名字或圖標,特別好玩)。ide
除了編譯器,咱們還須要什麼工具呢?工具
就不賣關子了,下面列出編程的基本工具:
文本編輯器:Test Editor。用來寫源代碼的工具。理論上 Windows 操做系統的記事本也能夠做爲文本編輯器來使用。可是,最好仍是用一些更高級點的文本編輯器,好比能夠支持代碼高亮顯示,方便你在代碼間跳轉等。我的很是推薦的文本編輯器是 Vim、Emacs、VS Code、Atom、Sublime,等等。
編譯器:Compiler。已經提過了,用來轉換(或叫編譯)你的源代碼成爲二進制碼。
調試器:Debugger。用來跟蹤、發現程序裏的錯誤的工具。這裏出現一個新名詞,調試(debug)。bug 表示「臭蟲,蟲子」,de 在英語裏是一個表示「分離,除掉」的前綴,因此 debug 的意思就是「除臭蟲」。通常把程序裏的錯誤或者缺陷叫作 bug(臭蟲),聽說是由於傳奇女程序員 Grace Hopper(格萊斯.霍普)有一次在 MARK II 計算機(就是那種早期的比較龐大的電腦)中發現了一隻飛蛾,這隻飛蛾致使了這臺電腦死機(夾在電腦裏的繼電器之間),霍普用鑷子把飛蛾夾出來,用透明膠布貼到筆記本上,並註明「第一個發現蟲子(bug)的實例」。今後,人們就沿用了這個稱呼,用 debug 表示排除程序錯誤的行爲。如今霍普的筆記本,連同那隻「呆萌」的飛蛾,陳列在美國曆史博物館裏。
固然,若是你有「冒險精神」,喜歡挑戰,也能夠不用調試器(經過一些小技巧也是能夠本身找到錯誤所在的)。可是,我想通常來講你是會須要調試器的。
因此,咱們就有兩個選擇了:
分開使用文本編輯器,編譯器和調試器這三種工具。雖然複雜一些,可是也行得通。特別在 Linux 環境下,很多程序員仍是喜歡用這種方式來編程,可能不是裝,要的就是這個 feel,倍兒爽。
使用一種軟件,這種軟件集合了這三種工具的功能。這種軟件被稱爲 IDE(Integrated Development Environment,表示「集成開發環境」)。
一開始你可能會難以抉擇,到底用哪一種呢?即便選擇了用 IDE,也會糾結到底用哪個 IDE 好呢。
其實咱們能夠確定的是:不論你選擇哪一種工具,你均可以編寫你想要的程序。只是效率、我的習慣和特定平臺要求不一樣罷了。
我的淺見: 若是剛接觸 C++ 語言,儘可能在 Linux 的命令行裏學習 C++ 語言編程。一開始不要過度依賴 IDE。 由於 IDE 作得太好了,都有提示,代碼自動補全,自動幫你添加代碼,你就不能學到不少,也記不牢。等編程水平好了一些,再用 IDE 不遲,那個時候 IDE 能夠提升你的編程效率。一開始用文本編輯器編寫 C++ 語言,用 G++ 編譯 C++ 語言,用 GDB(GNU Debugger)調試 C++ 語言,是不錯的選擇。
固然了,咱們仍是會花比較多的篇幅介紹幾個經常使用的 IDE。
咱們以爲有必要向你們展現幾個最著名的 IDE,這幾個都是免費的:
Code::Blocks :還不錯的一款 IDE。免費,開源,跨平臺。 能夠運行在蘋果 macOS,Windows,Linux 等大多數操做系統上。
Visual Studio :基礎版本是收費的。有一個 Visual Studio Express(如今更名叫 Visual Studio Community 了)的版本是免費的。VS 功能很完備,並且調試器很強大。 只能運行在 Windows 操做系統上。
Xcode :做爲蘋果的當家 IDE,不得不說 Xcode 真的作得太棒了。能夠用來開發基本的小程序,也能夠編寫 iPhone 和 iPad 的 app(模擬器速度超快),和智能手錶應用,還能夠和其餘如 Unity 3D 引擎配合來編寫遊戲。 只能運行在蘋果 macOS 操做系統上。
Eclipse :Eclipse 是頗有名的開源免費 IDE。最開始 Eclipse 是爲 Java 開發設計的 IDE。不事後來也推出了 C/C++ 版的 Eclipse,叫 Eclipse IDE for C/C++ Developers。能夠在 www.eclipse.org/downloads/p… 下載到。
Code::Blocks 是一款很不錯的 IDE,不過目前只有英文版,固然網上也有漢化版本。
不過既然學編程,就儘可能把英語這關過了,也不須要太厲害的英語,基礎就好。畢竟漢化版有的翻譯不到位,可能會影響使用。並且好的編程資源基本都是英語的。
請參看個人 對於程序員, 爲何英語比數學更重要? 如何學習 一文。
下載 Code::Blocks
先去 Code::Blocks 的官方下載頁面:www.codeblocks.org/downloads/b… 。
Windows 用戶請下載 .exe 結尾的文件,請注意要下載名字裏有 mingw 的那個(好比 codeblocks-20.03mingw-setup.exe),由於若是沒有 mingw 這幾個字母的版本不包含編譯器,就會很麻煩。
Linux 用戶請下載對應你的操做系統的版本。
蘋果 macOS 用戶請下載對應 macOS 的版本(貌似 macOS 版已經比較滯後了) 。
安裝運行 Code::Blocks
Code::Blocks 的安裝太簡單了,就跟安裝 QQ 沒什麼區別,一路默認到底就好。
安裝完以後雙擊運行,你能夠看到以下圖的界面:
上圖中標註了四個區域:
工具欄:有不少按鈕,但只有幾個是真正咱們時經常使用到的。
項目文件列表區:左邊的欄裏面顯示了你的項目的全部文件
主界面:寫代碼的地方
通知欄:會看到運行的錯誤,編譯的問題等等
如何來建立一個 C++ 語言的基本的控制檯應用程序呢?
首先到菜單裏,File
-> New
-> Project
,會打開以下的窗口:
能夠看到,Code::Blocks 支持很是多的程序類型,這些程序類型用到不一樣的庫,好比 SDL(開發 2D 程序),OpenGL(開發 3D 程序),Qt 和 wxWidgets,等等。
目前,這些圖標不少都只是好看而已,由於你還沒安裝對應的庫,全部不能用。暫時咱們只用最基本的 Console application
(控制檯應用,簡單來講就是會彈出一個框,裏面顯示程序運行的結果)。
選擇 Console application
,點擊 Go
按鈕到下一步:
Project Title
裏面填寫你要建立的項目名稱,咱們填的是著名的 HelloWorld
。Folder to create project in
是選擇項目存放的路徑。
點擊 Next
到下一步:
這裏咱們沒必要更改什麼,默認就好。點擊 Finish
(完成)結束配置,Code::Blocks 就會建立你的第一個項目了。
下載 Visual Studio,推薦去官方下載頁面 visualstudio.microsoft.com/downloads 。選擇適合你的操做系統的版原本下載。
你們能夠去參考網上的安裝和使用圖文教程。
安裝完運行後應該是與 Code::Blocks 相似的佈局:
macOS 操做系統裏有很多 IDE,可是 Xcode 倒是廣大蘋果用戶的最愛。
不是全部的蘋果用戶都是程序員,因此蘋果沒有在 macOS 系統裏預裝 Xcode,你須要到 Mac App Store(應用商店)下載 Xcode(須要有蘋果帳戶,沒有能夠註冊一個)。
安裝很方便,只要去 App Store 搜索 Xcode
,而後點擊 Install
(安裝),就安裝到應用程序裏了。將 Xcode 運行起來:
而後選擇 Create a new Xcode project
(建立一個新的 Xcode 項目),會彈出以下窗口:
選擇 OS X
-> Application
-> Command Line Tool
,點擊 Next
到下一步:
Project Name
裏填寫項目名稱,咱們填了 HelloWorld
。Language
(語言)選擇 C++ 語言,點 Next
下一步,會讓你選擇項目文件夾的存放路徑,隨便選擇。而後點擊 Finish
完成。
項目打開以後,點擊三角形按鈕,運行,能夠看到輸出了 Hello World!
:
對了,順便一提,如今開發 C++,你也可使用 Visual Studio Code(簡稱 VS Code)這個微軟開源的代碼編輯器。
雖然說 VS Code 自己是一個代碼編輯器,可是它豐富的插件卻能夠將其變成一個不俗的 IDE。VS Code 跨平臺(在 Windows,Linux 和 macOS 中均可以運行),體積小,速度快,如今已經成爲了不少開發者的最愛。
若是你不想安裝 Visual Studio 這樣比較大型的 IDE,也能夠試試 VS Code。
VS Code 的官網是 code.visualstudio.com 。下載後安裝很是簡單,就和安裝普通軟件沒什麼區別。
打開 VS Code 後,針對某種編程語言例如 C++,只須要安裝對應的官方插件(由微軟開發),便可運行和調試該語言,也就是搖身一變成爲該語言的 IDE 了。
例如我在 VS Code 中安裝了微軟官方的 C++ 插件。
這些年微軟自從 薩提亞·納德拉(Satya Nadella)擔任 CEO 以後,逐漸擁抱開源,確實爲互聯網領域作出了很多貢獻。
一個程序要從開始編寫到可以運行,通常來講須要三種工具:文本編輯器,編譯器,調試器(對於 Python 這樣的解釋性語言,就不須要編譯了。固然了,其實要深究的話,Python 也是和 Java 相似的,先編譯爲字節碼,再被 Python 虛擬機解釋執行的)。
咱們能夠分開使用這三種工具來完成任務。可是比較方便的是使用 IDE(集成開發環境,混合了這三者)來開發。
CLion,Eclipse,Code::Blocks,Visual Studio,Xcode 是著名的 IDE。固然還有不少優秀的 IDE,就不一一介紹了。IDE 只是工具。你也能夠用 Vim,Emacs,Sublime,VS Code,Atom 這類文本編輯器來寫 C++ 程序。VS Code 經過安裝 C++ 插件,能夠變成輕量級的 C++ IDE。
學習這門課的時候,你徹底能夠隨本身意思來選擇你的開發環境,沒必要必定和我同樣。
今天的課就到這裏,一塊兒加油吧!
下一課:C++探索之旅 | 第一部分第三課:你的第一個C++程序
我是 謝恩銘,公衆號「程序員聯盟」(微信號:coderhub)運營者,慕課網精英講師 Oscar 老師,終生學習者。 熱愛生活,喜歡游泳,略懂烹飪。 人生格言:「向着標杆直跑」