基本介紹
歷史,GCC家族,簡介,獲得安裝,介紹,
歷史
GCC是GNU公社的一個項目。是一個用於編程開發的自由編譯器。最初,GCC只是一個C語言編譯器,它是GNU C Compiler 的英文縮寫。隨著眾多自由開發者的加入和GCC自身的發展,如今的GCC已經是一個包含眾多語言的編譯器了。其中包括 C,C++,Ada,Object C和Java等。所以,GCC也由原來的GNU C Compiler變為GNU Compiler Collection。當然,如今的GCC藉助於它的特性,具有了交叉編譯器的功能,即在一個平台下編譯另一個平台的代碼。
直到現在,GCC的歷史仍然在繼續。
GCC家族
如今,在Windows下比較流行的GCC移植版主要有三個。他們是 MinGW,Cygwin和Djgpp。雖然,Djgpp是套用於DOS系統的,考慮到windows對DOS的兼容,所以也將Djgpp納入Windows下的GCC移植版本。
總體來說,MinGW,Cygwin和Djgpp各有特色,針對不同的套用場合,可以選擇不同的移植版來滿足需要。MinGW這個系列的移植,主要方向是讓GCC的Windows移植版能使用Win32API來編程。而Cygwin的目標是能讓Unix-like下的程式代碼在Windows下直接被編譯。至於Djgpp,則是想讓DOS下也能用上GCC。
簡介
MinGW是Minimalistic GNU for Windows 的縮寫。她是一個建立在GCC和binutils 項目上的編譯器系統。和其他GCC的移植版相比,她可以說是最接近Win32的一個了。因為,MinGW幾乎支持所有的Win32API,這也是MinGW的特色之一。她所連線的程式,不需要任何第三方庫就可以運行了。在某種程度上看,MinGW更像是VC的替代品。
獲得與安裝
MinGW可以從MinGW的官方網站上獲得。
如果,你要安裝MinGW,那么你有兩種安裝方案。下面我來一一介紹。
安裝方案一:
首先,你要從官方網站上下載如下幾個壓縮檔。考慮到檔案的更新和文章的靈活性。我將只寫出檔案的主要部分,將省去版本號和更新日期。
gcc-core C語言編譯器
gcc-c++ C++語言編譯器
win32api win32的API函式頭檔案和連線庫
binutils MinGW的彙編器和連線器等基礎工具
gdb MinGW中的調試工具
mingw32-make Make工具,用以更好的管理你的項目
然後,將上述檔案逐一下載,然後全部解壓縮到一個目錄下就可以了,我這裡假設你是移動到$(MINGW)這個目錄下了。這樣,你的MinGW就算安裝成功了。
最後到DOS終端上,將當前目錄轉換成 $(MINGW)/bin 下。輸入
C:>gcc -v
看到一段gcc的版本信息,這就能說明,你的gcc已經可以正常工作了。
安裝方案二:
你可以從 官方網站上下載 MinGW5.0.2.exe 這個程式。至少,在我寫此文的時候,這個是最新版本。
下載以後運行安裝,至於安裝過程,我想我就不一一介紹了。對於Windows下的開發人員,我想這個應該不是什麼問題了。
在一切都選擇好以後。這個程式就開始從Internet上下載所需要的壓縮檔。然後,逐一解開,安裝。
總體來說,兩種方法各有長處。不過,本人偏愛第一中方法。因為,控制度高,而且,更新也比較簡單。自己心裡也比較明了。
環境設定:
這樣,你就可以在任何目錄下使用MinGW了。
人在曹營心在漢的Cygwin
介紹
Cygwin,其實並不是一個GCC。她是讓Windows擁有Unix-like環境的軟體。所以,GCC自然也就會包含在裡面。不過,對於開發者,Cygwin是一個開發環境。而對於用戶來說Cygwin是一個運行環境。
Cygwin唯一和MinGW最大的區別在於,使用Cygwin可以在Windows下調用Unix-like的系統函式。比如進程函式,等等。所以,雖然說,Cygwin是運行在Windows下的,但是她還是使用的是Unix-like系統的函式和思想。
獲得安裝
Cygwin可以從Cygwin的官方網站獲得安裝程式
在網站上下載Cygwin的安裝程式setup.exe。然後運行便可以了。
關於前面的設定,我想不用多做介紹了。因為,對於這些我想Windows下的開發人員應該相當清楚了。
在到了選擇安裝的組件時,在Devel 選項下,將gcc-core,gcc-g++ 等前的skip 點擊成你所需要的版本號。
然後在 Lib選項卡中,將glib2,glib2-devel,glib2-runtime前的skip點成版本號。
相對來說,Cygwin的安裝和配置都比較簡單。因為,Cygwin提供了一個比較健全的安裝程式。
使用
在安裝目錄下,運行cygwin.bat就可以啟動cygwin環境了。這是一個模擬Linux的環境,所以很多地方可能和Dos有比較大的差距。不過,你編譯出的程式可以直接在其他沒有安裝Cygwin的機器上運行。還有,如果要切換到windows下的其他盤下,比如D糟。那么就可以使用
$cd /cygdrive/d/
對於Cygwin更多關於使用的內容,你可以到Linux社區去獲得參考。
腳踏兩隻船的Djgpp