<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 練習0:準備 > 原文:[Exercise 0: The Setup](http://c.learncodethehardway.org/book/ex0.html) > 譯者:[飛龍](https://github.com/wizardforcel) 在這一章中,你將為C語言編程配置好你的系統。一個好消息是對于所有使用Linux或者Mac的人,你的系統是為C語言編程而設計的。C語言的創造者也對Unix操作系統的創造做出了貢獻,并且Linux和OSX都是基于Unix的。事實上,安裝工作會非常簡單。 對于Windows上的用戶,我有一個壞消息:在Windows上學習C非常痛苦。你可以在Windows上編寫C代碼,這并不是問題。問題是所有的庫、函數和工具都和其它的C語言環境有些詫異。C來自于Unix,并且和Unix平臺配合得比較好。恐怕這是一個你并不能接受的事實。 然而你并不需要為此恐慌。我并不是說要完全避免Windows。然而我說的是,如果你打算已最短的時間來學習C,你需要接觸Unix并適應它。這同時也對你有幫助,因為懂得一些Unix的知識,也會讓你懂得一些C編程的習慣,以及擴充你的技能。 這也意味著每個人都需要使用命令行。嗯,就是這樣。你將會進入命令行并且鍵入一些命令。不要為此感到害怕,因為我會告訴你要鍵入什么,以及結果應該是什么樣子,所以你實際上會學到很多東西,同時擴充自己的技能。 ## Linux 在多數Linux系統上你都需要安裝一些包。對于基于Debian的系統,例如Ubuntu你需要使用下列命令來安裝一些東西: ``` $ sudo apt-get install build-essential ``` 上面是命令行提示符的一個示例。你需要接觸到能輸入它的地方,找到你的“終端”程序并且運行它。接著,你會看到一個類似于`$`的Shell提示符,并且你可以在里面鍵入命令。不要鍵入`$`,而是它后面的東西。 下面是在基于RPM的Linux系統,例如Fedora中執行相同安裝工作的方法: ``` $ su -c "yum groupinstall development-tools" ``` 一旦你運行了它,它會正常工作,你應該能夠做本書的第一個練習。如果不能請告訴我。 ## Mac OSX 在 Mac OSX上,安裝工作會更簡單。首先,你需要從蘋果官網下載最新的`XCode`,或者找到你的安裝DVD并從中安裝。需要下載的文件很大,要花費很長時間,所以我推薦你從DVD安裝。同時,上網搜索“安裝xcode”來指導你來安裝它。 一旦你安裝完XCode,可能需要重啟你的電腦。你可以找到你的中斷程序并且將它放到快捷啟動欄中。在本書中你會經常用到中斷,所以最好將它放到順手的區域。 ## Windows 對于Windows用戶,你需要在虛擬機中安裝并運行一個基本的Ubuntu Linux系統,來做本書的練習,并且避免任何Windows中安裝的問題。 > 譯者注:如果你的Windows版本是Win10 14316及之后的版本,可以開啟Ubuntu子系統來獲取Linux環境。 ## 文本編輯器 對于程序員來說,文本編輯器的選擇有些困難。對于初學者我推薦他們使用[`Gedit`](http://projects.gnome.org/gedit/),因為它很簡單,并且可以用于編寫代碼。然而,它在特定的國際化環境中并不能正常工作。如果你已經是老司機的話,你可以選用你最喜歡的編輯器。 出于這種考慮,我打算讓你嘗試一些你所在平臺上的標準的用于編程的文本編輯器,并且長期使用其中你最喜歡的一個。如果你已經用了Gedit并且很喜歡他,那么久一致用下去。如果你打算嘗試一些不同的編輯器,則趕快嘗試并選擇一個。 最重要的事情是,不要糾結于尋找最完美的編輯器。文本編輯器幾乎都很奇怪,你只需要選擇一個并熟悉它,如果你發現喜歡別的編輯器可以切換到它。不要在挑選它和把它變得更好上面花很多時間。 這是亦可以嘗試的一些編輯器: + Linux和OSX上的[`Gedit`](http://projects.gnome.org/gedit/)。 + OSX上的[`TextWrangler`](http://www.barebones.com/products/textwrangler/)。 + 可以在終端中運行并幾乎在任何地方工作的[`Nano`](http://www.nano-editor.org/)。 + [`Emacs`](http://www.gnu.org/software/emacs/)和[`Emacs OSX`](http://emacsformacosx.com/)。需要學習一些東西。 + [`Vim`](http://www.vim.org/)和[`Mac Vim`](http://code.google.com/p/macvim/)。 每個人都可能選擇一款不同的編輯器,這些只是一部分人所選擇的開源編輯器。在找到你最喜歡的那個之前,嘗試其中的一些,甚至是一些商業編輯器。 ## 警告:不要使用IDE IDE,或者“集成開發工具”,會使你變笨。如果你想要成為一個好的程序員,它會是最糟糕的工具,因為它隱藏了背后的細節,你的工作是弄清楚背后發生了什么。如果你試著完成一些事情,并且所在平臺根據特定的IDE而設計,它們非常有用,但是對于學習C編程(以及許多其它語言),它們沒有意義。 > 注 > 如果你玩過吉他,你應該知道TAB是什么。但是對于其它人,讓我對其做個解釋。在音樂中有一種樂譜叫做“五線譜”。它是通用、非常古老的樂譜,以一種通用的方法來記下其它人應該在樂器上彈奏的音符。如果你彈過鋼琴,這種樂譜非常易于使用,因為它幾乎就是為鋼琴和交響樂發明的。 > 然而吉他是一種奇怪的樂器,它并不能很好地適用這種樂譜。所以吉他手通常使用一種叫做TAB(tablature)的樂譜。它所做的不是告訴你該彈奏哪個音符,而是在當時應該撥哪根弦。你完全可以在不知道所彈奏的單個音符的情況下學習整首樂曲,許多人也都是這么做的,但是如果你想知道你彈的是什么,TAB是毫無意義的。 > 傳統的樂譜可能比TAB更難一些,但是會告訴你如何演奏音樂,而不是如果玩吉他。通過傳統的樂譜我可以在鋼琴上,或者在貝斯上彈奏相同的曲子。我也可以將它放到電腦中,為它設計全部的曲譜。但是通過TAB我只能在吉他上彈奏。 > IDE就像是TAB,你可以用它非常快速地編程,但是你只能夠用一種語言在一個平臺上編程。這就是公司喜歡將它賣給你的原因。它們知道你比較懶,并且由于它只適用于它們自己的平臺,他們就將你鎖定在了那個平臺上。 > 打破這一循環的版本就是不用IDE學習編程。一個普通的文本編輯器,或者一個程序員使用的文本編輯器,例如Vim或者Emacs,能讓你更熟悉代碼。這有一點點困難,但是終結果是你將會熟悉任何代碼,在任何計算機上,以任何語言,并且懂得背后的原理。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看