【C++探索之旅】第一部分第二課:C++編程的必要軟體,之旅第一部分
內容簡介
1、第一部分第二課:C++編程的必要軟體
2、第一部分第三課預告:第一個C++程式
C++編程的必要軟體
經過上一課之後,大家是不是摩拳擦掌,準備大幹一場了呢。
這一課我們來做一些C++開發前的準備工作。
編程的必要工具
依你看,什麼軟體對編程來說是必要的呢?如果你認真學了上一課,那你至少可以說出一種吧。
對了,就是編譯器。這個重要的程式可以把你的原始碼(用進階語言如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,Windows,Linux等),自由定製,各種快速鍵組合,收發郵件,看視頻,瀏覽網頁,瀏覽PDF,沒有你做不到,只有想不到(略有誇張...),可以讓你編輯代碼非常高效。我之前使用的是VIM,也是很不錯的,但是後來用了Emacs,感覺還是更喜歡Emacs一些。當然這見仁見智。還有一個文字編輯器:Notepad++也是挺好的,經過配置和安裝一些外掛程式,可以很強大,不過貌似沒有蘋果電腦版本。
編譯器:已經提過了,用來轉換(或叫編譯)你的原始碼成為二進位碼。
調試器:Debugger,用來跟蹤、發現程式裡的錯誤的工具。這裡出現一個新名詞,調試(Debug)。bug是英語臭蟲,蟲子的意思,de在英語裡是一個表示“分離,除掉”的首碼,所以Debug的意思就是除臭蟲。一般把程式裡的錯誤或者缺陷叫做bug(臭蟲),據說是因為傳奇女程式員Grace Hopper(格萊斯.霍普)有一次在MARK II電腦(就是那種早期的比較龐大的電腦)中發現了一隻飛蛾,這隻飛蛾導致了這台電腦死機(夾在電腦裡的繼電器之間),霍普用鑷子把飛蛾夾出來,用透明膠布貼到筆記本上,並註明“第一個發現蟲子(bug)的執行個體”。從此,人們就沿用了這個稱呼,用debug表示排除程式錯誤的行為。現在霍普的筆記本,連同那隻呆萌的飛蛾,陳列在美國歷史博物館裡。
霍普的筆記本和光榮載入曆史的飛蛾
當然,如果你有冒險精神,喜歡挑戰,也可以不用調試器(通過一些小技巧也是可以自己找到錯誤所在的)。但是,我想一般來說你是會需要調試器的。
所以,我們就有兩個選擇了:
一開始你可能會難以抉擇,到底用哪種呢?即使選擇了用IDE,也會糾結到底用哪一個IDE好呢。其實我們可以肯定的是:不論你選擇哪種工具,你都可以編寫你想要的程式。只是效率,個人習慣和特定平台要求不同罷了。
個人淺見:
如果剛接觸C++語言,盡量在Linux的命令列裡學習C++語言編程。一開始不要過分依賴IDE。
因為IDE做得太好了,都有提示,代碼自動補全,自動幫你添加代碼,你就不能學到很多,也記不牢。等編程水平好了一些,再用IDE不遲,那個時候IDE可以提高你的編程效率。一開始用emacs或者vim編寫C++語言,用G++編譯C++語言,用GDB(GNU Debugger)調試C++語言,是不錯的選擇。
當然了,我們還是會花比較多的篇幅介紹幾個常用的IDE。
選擇你的IDE
我們覺得有必要向大家展示幾個最著名的IDE,這幾個都是免費的(只買對的,不選貴的)
Code::Blocks:個人比較喜歡的一款IDE,免費,開源,跨平台。在之後的課程裡,我們會用Code::Blocks來做開發,因為Code::Blocks的開發環境搭建起來太快了,不需要什麼配置。
可以運行在蘋果Mac,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的官方下載頁面:http://www.codeblocks.org/downloads/binaries
安裝運行Code::Blocks
Code::Blocks的安裝太簡單了,就跟安裝QQ沒什麼區別,一路預設到底就好。
安裝完之後雙擊運行,你可以看到如的介面
中標註了四個地區:
工具列:有很多按鈕,但只有幾個是真正我們時常用到的。
專案檔列表區:左邊的欄裡面顯示了你的項目的所有檔案
主介面:寫代碼的地方
通知欄:會看到啟動並執行錯誤,編譯的問題等等
如何來建立一個C++語言的基本的控制台應用程式呢?
首先到菜單裡,File -> New -> Project,會開啟如下的視窗
可以看到,Code::Blocks支援非常多的程式類型,這些程式類型用到不同的庫,比如SDL(開發2D程式),OpenGL(開發3D程式),Qt和wxWidgets,等等。
目前,這些表徵圖很多都只是好看而已,因為你還沒安裝對應的庫,所有不能用。我們會在後續課程開發基於SDL庫的遊戲。暫時我們只用最基本的Console application(控制台應用,簡單來說就是會彈出一個框,裡面顯示程式啟動並執行結果)。
選擇 Console application,點擊Go按鈕到下一步
“Project Title”裡面填寫你要建立的項目名稱,我們填的是著名的 HelloWorld。“Folder to create project in” 是選擇項目存放的路徑。
點擊Next到下一步,
這裡我們不必更改什麼,預設就好。點擊Finish(完成)結束配置,Code::Blocks就會建立你的第一個項目了。
Visual Studio
下載 Visual Studio Express,去官方下載頁面 http://www.visualstudio.com/products/visual-studio-express-vs
選擇適合你的作業系統的版本來下載。
因為小編是在蘋果電腦上編輯文章的,所以就不多做示範了。請大家去參考網上的安裝和使用圖文教程。
安裝完運行後應該是與Code::Blocks類似的布局:
Xcode
Mac作業系統裡有不少IDE,但是Xcode卻是廣大蘋果使用者的最愛。
不是所有的蘋果使用者都是程式員,所以蘋果沒有在Mac系統裡預裝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!
總結
一個程式要從開始編寫到能夠運行,一般來說需要三種工具:文字編輯器,編譯器,調試器(當然對於Python這樣的解釋性語言,就不需要編譯了)
我們可以分開使用這三種工具來完成任務。但是比較方便的是使用IDE(整合式開發環境,混合了這三者)來開發。
Code::Blocks,Visual Studio(或Visual C++),Xcode是最著名的IDE,當然還有很多優秀的IDE(例如 Eclipse),就不一一介紹了。IDE只是工具。
第一部分第三課預告
今天的課就到這裡,一起加油吧!
下一課我們學習:第一個C++程式
程式員聯盟社區
目前有一個群和一個QQ群(群160人以上,QQ群530人以上),凡是對編程感興趣的朋友都可以加,大家可以交流,學習,互動,討論編寫的程式的原始碼,編程問答等。
群(程式員聯盟),加群請私信我(群人數超過100之後,不能通過掃描二維碼加入了,只能私信我,謝謝)
QQ群: 413981577 (1000人群)
QQ群檔案裡有很多編程書籍PDF和其他資料。掃描下面二維碼加QQ:
我們還建立了一個公用的百度雲端硬碟,2TB容量,已有很多優秀編程資源,大家也可以上傳。連結加群之後會發送。
百度貼吧 【程式員聯盟】 歡迎您加入,交流編程,討論代碼,共用資源,已經有很多話題。吧主就是小編。
http://tieba.baidu.com/f?kw=%E7%A8%8B%E5%BA%8F%E5%91%98%E8%81%94%E7%9B%9F&ie=utf-8
點擊左下角【閱讀原文】即可進入 【程式員聯盟】 百度貼吧
《程式員聯盟》的微社區,方便大家提問和互動。可以關注一下。
微社區地址和二維碼如下:
http://m.wsq.qq.com/264152148
謝謝!
程式員聯盟 公眾號*您若覺得本文不錯,請點擊畫面右上方《···》按鈕“分享到朋友圈”或“發送給朋友”
*新朋友請關注「程式員聯盟」搜公眾號 ProgrammerLeague
小編號:frogoscar
小編QQ號: 379641629
小編郵箱: enmingx@gmail.com
程式員聯盟QQ群:413981577
程式員聯盟群:先加我
有朋友反映看手機端的文章太累,其實是可以用瀏覽器網頁來看的:
方法1. 點擊畫面右上方的《···》按鈕,然後選擇“複製連結”,再把連結黏貼到你的瀏覽器裡面或用郵件發送給自己,就可以在電腦的瀏覽器裡開啟了
方法2. 頭條網www.toutiao.com,搜尋我的自媒體“程式員聯盟”,內有所有文章,也可以直接進這個連結:http://www.toutiao.com/m3750422747/
方法3. 我的51CTO部落格,CSDN部落格和部落格園連結(所有文章都在上面)
http://4526621.blog.51cto.com
http://blog.csdn.net/frogoscar
www.cnblogs.com/frogoscar
如何查看所有文章:
點擊“查看公眾號”,再點擊“查看曆史訊息”