gcc for Windows 開發環境介紹

來源:互聯網
上載者:User
在Windows作業系統下的gcc 
   第一節  GCC 家族概覽 
  GCC是一個原本用於Unix-like系統下編程的編譯器。 
  不過,現在GCC也有了許多Win32下的移植版本。所以,也許對於許多Windows開發人員來說,GCC還是一個比較陌生的東西。所以,我希望通過這章的敘述,讓你——一個Windows開發人員對GCC這一個優秀的編譯器有一個大概的瞭解。 
   曆史 
  GCC是GNU公社的一個項目。是一個用於編程開發的自由編譯器。最初,GCC只是一個C語言編譯器,他是GNU C Compiler 的英文縮寫。隨著眾多自由開發人員的加入和GCC自身的發展,如今的GCC以經是一個包含眾多語言的編譯器了。其中包括 C,C++,Ada,Object C和Java等。所以,GCC也由原來的GNU C Compiler變為GNU Compiler Collection。也就是 GNU編譯器家族 的意思。當然,如今的GCC藉助於他的特性,具有了交叉編譯器的功能,即在一個平台下編譯另一個平台的代碼。 
  直到現在,GCC的曆史仍然在繼續,他的傳奇仍然被人所傳頌。 
   Windows 下的 GCC 家族 
  起初,GCC是用於Unix,Unix-like系統的編譯器。不過,現在Windows下也出現了GCC的穩定移植版。這要感謝Internet上眾多程式員的共同努力。 
  如今,在Windows下比較流行的GCC移植版主要有三個。他們是 MinGW,Cygwin和Djgpp。雖然,Djgpp是應用於DOS系統的,考慮到windows對DOS的相容,所以也將Djgpp納入其中了。 
  總體來說,MinGW,Cygwin和Djgpp各有特色,針對不同的應用場合,可以選擇不同的移植版來滿足需要。MinGW這個系列的移植,主要方向是讓GCC的Windows移植版能使用Win32API來編程。而Cygwin的目標是能讓Unix-like下的程式碼在Windows下直接被編譯。至於Djgpp,則是想讓DOS下也能用上GCC。 
  所以,對於開發人員不同的需求。選擇合適的移植版會讓工作變得輕鬆而高效。 
   本書的 GCC 
  我個人對GCC的移植版都非常喜歡。不論是MinGW還是Cygwin,亦或是Djgpp。在本書中,除了特殊說明以外,所述的內容適合所有這三種移植版。 
  不過,考慮到現在在Windows下用的比較多的是MinGW系列。再加上MinGW較Cygwin和Djgpp安裝和使用更為簡便。所以,建議讀者學習時還是使用MinGW。 
   第二節 入鄉隨俗的 MinGW 
   簡介 
  MinGW是Minimalistic GNU for Windows 的縮寫。她是一個建立在GCC和binutils 項目上的編譯器系統。和其他GCC的移植版相比,她可以說是最接近Win32的一個了。因為,MinGW幾乎支援所有的Win32API,這也是MinGW的特色之一。她所串連的程式,不需要任何第三方庫就可以運行了。在某種程度上看,MinGW更像是VC的替代品。 
   獲得與安裝 
  MinGW可以從MinGW的官方網站 http://www.mingw.org上獲得。 
  如果,你要安裝MinGW,那麼你有兩種安裝方案。下面我來一一介紹。 
  安裝方案一: 
  首先,你要從 http://www.mingw.org/download.shtml上下載如下幾個壓縮包。考慮到檔案的更新和文章的靈活性。我將唯寫出檔案的主要部分,將省去版本好和更新日期。 
  gcc-core C語言編譯器 
  gcc-c++ C++語言編譯器 
  mingw-runtime MinGW的執行階段程式庫(這個必須安裝) 
  win32api win32的API函數標頭檔和串連庫 
  binutils MinGW的彙編器和連接器等基礎工具 
  gdb MinGW中的調試工具 
  mingw32-make Make工具,用以更好的管理你的項目 
  然後,將上述檔案逐一下載,然後全部解壓縮到一個目錄下就可以了,我這裡假設你是移動到$(MINGW)這個目錄下了。這樣,你的MinGW就算安裝成功了。 
  最後到DOS終端上,將目前的目錄轉換成 $(MINGW)/bin 下。輸入 
  C:/>gcc -v 
  看到一段gcc的版本資訊,這就能說明,你的gcc已經可以正常工作了。 
  安裝方案二: 
  你可以從 http://www.mingw.org/download.shtml上下載 MinGW5.0.2.exe 這個程式。至少,在我寫此文的時候,這個是最新版本。 
  下載以後運行安裝,至於安裝過程,我想我就不一一介紹了。對於Windows下的開發人員,我想這個應該不是什麼問題了。 
  在一切都選擇好以後。這個程式就開始從Internet上下載所需要的壓縮包。然後,逐一解開,安裝。 
  總體來說,兩種方法各有長處。不過,本人偏愛第一中方法。因為,控制度高,而且,更新也比較簡單。自己心裡也比較明了。 
   環境設定: 
  對於我們這些使用者來說,最好是能夠簡單方便的使用工具。所以,我們就需要設定環境,便於我們使用MinGW。 
  對於設定,我們只需要在環境變數中的PATH 變數中,添加$(MINGW)/bin這個路徑就可以了。 
  這樣,你就可以在任何目錄下使用MinGW了。 
   第三節 人在曹營心在漢的 Cygwin 
   介紹 
  Cygwin,其實並不是一個GCC。她是讓Windows擁有Unix-like環境的軟體。所以,GCC自然也就會包含在裡面。不過,對於開發人員,Cygwin是一個開發環境。而對於使用者來說Cygwin是一個運行環境。 
  Cygwin唯一和MinGW最大的區別在於,使用Cygwin可以在Windows下調用Unix-like的系統函數。比如進程函數,等等。所以,雖然說,Cygwin是運行在Windows下的,但是她還是使用的是Unix-like系統的函數和思想。 
   獲得與安裝 
  Cygwin可以從Cygwin的官方網站獲得安裝程式 http://www.cygwin.com/ 
  在網站上下載Cygwin的安裝程式setup.exe。然後運行便可以了。 
  關於前面的設定,我想不用多做介紹了。因為,對於這些我想Windows下的開發人員應該相當清楚了。 
  在到了選擇安裝的組件時,在Devel 選項下,將gcc-core,gcc-g++ 等前的skip 點擊成你所需要的版本號碼。 
  然後在 Lib選項卡中,將glib2,glib2-devel,glib2-runtime前的skip點成版本號碼。 
  接下來,就點擊next就可以了。在一段漫長的等待時間後,你的Cygwin開發環境就算安裝好了。 
  相對來說,Cygwin的安裝和配置都比較簡單。因為,Cygwin提供了一個比較健全的安裝程式。 
   使用 
  在安裝目錄下,運行cygwin.bat就可以啟動cygwin環境了。這是一個類比Linux的環境,所以很多地方可能和Dos有比較大的差距。不過,你編譯出的程式可以直接在其他沒有安裝Cygwin的機器上運行。還有,如果要切換到windows下的其他盤下,比如D盤。那麼就可以使用 
  $cd /cygdrive/d/ 
  對於Cygwin更多關於使用的內容,你可以到Linux社區去獲得參考。 
   第四節 腳踏兩隻船的 Djgpp 
   介紹 
  Djgpp,是一個在純Dos下的GCC移植版本。她使用一些軟體將純Dos設定成32位的環境,並運行由她編譯出來的程式。總體來說,Djgpp並不是一個Windows的移植版。不過,她確實可以在Windows下運行。對於一些特殊應用。Djgpp是唯一適合的。 
   獲得與安裝 
  Djgpp,可以從Djgpp的官方網站上下載 http://www.delorie.com/djgpp/ 
  不過,這裡Djgpp為使用者做了更好多的安排。她為使用者提供了一個定製安裝的頁面。 
  http://www.delorie.com/djgpp/zip-picker.html 
  您只需要在上面填寫響應的內容,然後遞交。她將會給你一份完整的安裝方案。 
   使用 
  相對來說,Djgpp我並不是經常使用。所以,本文中在沒有特殊說明情況下,不會使用Djgpp的。 
   文外音: 
  總體來說,這篇文章寫的有些匆忙。所以可能有些地方有不足。所以,希望各位能夠多多原諒批評和指教。下一章,我將介紹GCC for Win32的IDE。同時,從這一章開始,我將向各位讀者做一個小小的要求。那就是,希望你們能夠將自己對這篇文章感到的不足告訴我,我將隨時修改以發表的內容,以適合廣大讀者的要求。如果各位有什麼想法或者意見,疑惑。 
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.