C語言探索之旅 | 第一部分第二課:工欲善其事,必先利其器

做者 謝恩銘,公衆號「程序員聯盟」。 轉載請註明出處。 原文:www.jianshu.com/p/60caadd22…html

《C語言探索之旅》全系列git

內容簡介


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

1. 前言


上一課是 C語言探索之旅 | 第一部分第一課:什麼是編程? ,這一課咱們就正式進入 C語言編程的正題了。程序員

這一課咱們將回答如下問題:github

咱們須要什麼軟件來編程呢?編程

這一課你們能夠輕鬆地度過,由於沒有什麼難點(不過也有很多知識點)。咱們會花點時間來認識一些經常使用的編程軟件。小程序

應該好好享受這一課,由於下一課開始咱們就要一塊兒寫程序了,因此該喝咖啡的喝咖啡,該吃烤雞的吃烤雞,休息好了,才能上陣。vim

2. 編程的必要工具


依你看,什麼軟件對編程來講是必要的呢?若是你認真學了上一課,那你至少能夠說出一種吧。xcode

對了,就是編譯器。這個重要的程序能夠把你的源代碼(用高級語言(好比 C語言)寫的指令)轉換成電腦能夠理解的二進制碼(只包含 0 和 1 的,例如 01100110001111011101010)。markdown

上一課咱們也提了一下,每種高級語言都有對應的編譯器(固然對於 Python 這樣的解釋性語言,就不須要編譯了),光是 C語言的編譯器就有不少。app

比較經常使用的有 GCC(GNU C Compiler。GNU 是國際著名的自由軟件基金會,GNU 是「GNU is Not Unix」(GNU 不是 Unix)的遞歸縮寫法。

老外老是那麼頑皮,起名字也喜歡整一些編程的知識,好比 Linux 就是「Linux Is Not Unix」(Linux 不是 Unix)的遞歸。要不就用不少動物的名字或圖標,特別有意思)。

除了編譯器,咱們還須要什麼工具呢?

就不賣關子了吧,下面列出編程的基本工具:

  • 文本編輯器:Text Editor。用來寫源代碼的工具。理論上 Windows 操做系統的記事本或者 Linux 下的 Nano 編輯器均可以做爲文本編輯器來使用。可是,最好仍是用一些更高級一點的文本編輯器,好比能夠支持代碼高亮顯示,方便你在代碼間跳轉,等。我的推薦的文本編輯器是 VS CodeVimEmacs。這幾個文本編輯器真的很是強,跨平臺(Windows、Linux、macOS,等),能夠自由定製,各類快捷鍵組合,有的還能夠收發郵件,看視頻,瀏覽網頁,瀏覽 PDF,沒有作不到,只有想不到(略有誇張...),可讓你編輯代碼很是高效。Vim 和 Emacs 是老牌的文本編輯器,粉絲不少。VS Code 是微軟在 2015 年發佈的一款免費開源的現代化輕量級代碼編輯器,如今也很是火。

  • 編譯器:Compiler。已經提過了,用來轉換(或叫「編譯」)你的源代碼成爲二進制碼。

  • 調試器:Debugger。用來跟蹤、發現程序裏的錯誤的工具。這裏出現一個新名詞,調試(debug)。bug 是英語「臭蟲,蟲子」的意思,de 在英語裏是一個表示「分離,除掉」的前綴,因此 debug 的意思就是「除臭蟲」。通常把程序裏的錯誤或者缺陷叫作 bug,聽說是由於傳奇女程序員 Grace Hopper(格萊斯.霍普)有一次在 MARK II 計算機(就是那種早期的比較龐大的電腦)中發現了一隻飛蛾,這隻飛蛾致使了這臺電腦死機(夾在電腦的繼電器之間),霍普用鑷子把飛蛾夾出來,用透明膠布貼到筆記本上,並註明「第一個發現蟲子(bug)的實例」。今後,人們就沿用了這個有趣的稱呼,用 debug 來表示排除程序錯誤的行爲。如今霍普的筆記本,連同那隻「呆萌」的飛蛾,陳列在美國曆史博物館裏。在 Linux 下,經常使用的調試器是 GDB(GNU Debugger)。

霍普的筆記本和光榮載入史冊的飛蛾

固然,若是你有冒險精神,喜歡挑戰,也能夠不用調試器(經過一些小技巧也是能夠本身找到錯誤所在的)。可是,我想通常來講你是會須要調試器的。

因此,咱們就有兩個選擇了:

  1. 分開使用文本編輯器,編譯器和調試器這三種工具。雖然複雜一些,可是也行得通。在 Linux 環境下,很多程序員仍是喜歡用這種方式來編程。可能不是「裝」,要的就是這個 feel,倍爽兒。

  2. 使用一種軟件,這種軟件集合了這三種工具的功能。這種軟件被稱爲 IDE(是 Integrated Development Environment 的縮寫,表示「集成開發環境」)。

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

其實咱們能夠確定的是:不論你選擇哪一種工具,你均可以編寫你想要的程序。只是效率,我的習慣和特定平臺要求不一樣罷了。

其實,你也能夠用 VS Code、Vim、Emacs 這樣的文本編輯器,經過安裝一些插件,使其可以編譯運行 C語言的程序。網上有很多圖文教程,請你們自行搜索。

3. 選擇你的 IDE


我以爲有必要向你們展現幾個最著名的 IDE:

  • Clion :跨平臺的 IDE。目前我我的認爲最棒的 C語言或 C++語言的 IDE,由著名的 JetBrains 公司開發。JetBrains 的明星 IDE 還有 PyCharm(適用於 Python 語言),WebStorm(適用於 JavaScript 語言),IntelliJ IDEA(適用於 Java 和 Kotlin 語言),GoLand(適用於 Go語言),等等。JetBrains 公司還開發了 Kotlin 語言,還和 Google 公司合做發行了 Android 的最強開發 IDE:Android Studio。JetBrains 的 Clion 這款 IDE 很是強大,用戶體驗很是好。 缺點:基礎版本是收費的。不過,若是你是學生或教師,或者目的是課堂教學,或者你有不錯的開源項目,或者若是你是,能夠享受 JetBrains 的免費或減免優惠,請見 www.jetbrains.com/idea/buy/#d…

  • Eclipse:免費,開源,跨平臺的 IDE。老牌的 IDE 了,Eclipse 也是一個開源基金會,旗下有很多優秀的開源項目。若是要用 Eclipse 來開發 C語言或 C++語言的程序,須要下載安裝 Eclipse CDT 這款 IDE。 缺點:近幾年感受被 JetBrains 公司的 IDE 搶了風頭。我早年編程或開發 Android 應用的時候使用過 Eclipse,但如今我已經徹底投向 JetBrains 的懷抱(Python 編程我用 PyCharm,C/C++ 編程我用 CLion,Java/Kotlin 編程我用 IntelliJ IDEA,Android 開發我用 Android Studio,等等),由於 JetBrains 的 IDE 真的都太好用了。不過目前仍是有很多人使用 Eclipse 來進行開發的。

  • Code::Blocks :免費,開源,跨平臺的 IDE。Code::Blocks 的開發環境搭建起來很是快,幾乎不須要什麼配置。 缺點:近幾年 Code::Blocks 更新有點緩慢,只有 Linux 和 Windows 的版本有陸陸續續的更新。感受這款開源社區維護的 IDE 可能人手和資金有不足的趨勢。

  • Visual Studio :簡稱 VS。VS 功能很完備,並且調試器很強大。 缺點:只能運行在 Windows 操做系統上,安裝體積大。基礎版本是收費的。有一個 Visual Studio Community 的社區版本是免費的。

  • Xcode :做爲蘋果的編程當家 IDE,不得不說 Xcode 作得至關不錯。能夠用來開發基本的小程序,也能夠編寫 iPhone、iPad 和 macOS 的 app(模擬器速度超快),和智能手錶應用,還能夠和其餘如 Unity 3D 引擎配合來編寫遊戲。 缺點:只能運行在蘋果 macOS 操做系統上,安裝體積大。

對於各個平臺的學習 C語言的用戶,我我的的一些建議是:

  • Windows 用戶:能夠安裝 Code::Blocks,或者 Visual Studio,或者 Eclipse CDT,等等。

  • Linux 用戶:能夠安裝 Code::Blocks,或者 Eclipse CDT,等等。固然了,若是你是 C語言的初學者,Linux 下其實我比較推薦用文本編輯器來寫 C語言的源代碼,而後用 GCC 來編譯,用 GDB 來調試 C 語言的程序。要入門並提升 Linux,能夠看我在慕課網的實戰課程《Linux核心技能與應用》,或者專欄《Linux命令行與Shell腳本編程大全》。

  • macOS 用戶:能夠安裝 Xcode,或者 Eclipse CDT,或者 Visual Studio for Mac,等等。

學習這門 C語言的課程,你們能夠隨意選用本身最喜歡和使用最順手的 IDE,網上也有各類 IDE 的下載安裝的圖文教程,我就不一一演示了。我但願你們可以下載安裝本身最喜歡和用起來最順手的 IDE,經過 IDE 官網的教程或者網上的圖文教程來安裝配置好 IDE,並學會如何建立一個 C語言的項目,並運行。 固然,我前面提過,你也能夠用 VS Code、Vim、Emacs 這樣的文本編輯器,經過安裝一些插件,使其可以編譯運行 C語言的程序。 本課程中我會提供 C語言的代碼。IDE 的選擇我會使用我的喜歡的 IDE 來作演示。

4. 總結


  1. 一個程序要從開始編寫到可以運行,通常來講須要三種工具:文本編輯器,編譯器,調試器(固然對於 Python 這樣的解釋性語言,就不須要編譯了)。

  2. 咱們能夠分開使用文本編輯器,編譯器,調試器這三種工具來完成任務。可是比較方便的是使用IDE(集成開發環境,混合了這三者)來開發。

  3. IDE 只是工具。你們可使用本身熟悉和喜歡的 IDE 來進行本課程的學習。

今天的課就到這裏,一塊兒加油吧。

5. 第一部分第三課預告


今天的課就到這裏,一塊兒加油吧!

下一課:C語言探索之旅 | 第一部分第三課:你的第一個程序

下一課一塊兒來寫咱們的第一個 C語言的程序咯。


我是 謝恩銘,公衆號「程序員聯盟」運營者,慕課網精英講師 Oscar 老師,終生學習者。 熱愛生活,喜歡游泳,略懂烹飪。 人生格言:「向着標杆直跑」

相關文章
相關標籤/搜索