在Windows操做系統下的gcc

在Windows操做系統下的gcchtml

第一節 GCC家族概覽c++

GCC是一個本來用於Unix-like系統下編程的編譯器。
不過,如今GCC也有了許多Win32下的移植版本。因此,也許對於許多Windows開發者來講,GCC仍是一個比較陌生的東西。因此,我但願經過這章的敘述,讓你——一個Windows開發者對GCC這一個優秀的編譯器有一個大概的瞭解。

歷史

GCCGNU公社的一個項目。是一個用於編程開發的自由編譯器。最初,GCC只是一個C語言編譯器,他是GNU C Compiler 的英文縮寫。隨着衆多自由開發者的加入和GCC自身的發展,現在的GCC以經是一個包含衆多語言的編譯器了。其中包括 C,C++,Ada,Object CJava等。因此,GCC也由原來的GNU C Compiler變爲GNU Compiler Collection。也就是 GNU編譯器家族 的意思。固然,現在的GCC藉助於他的特性,具備了交叉編譯器的功能,即在一個平臺下編譯另外一個平臺的代碼。程序員

直到如今, GCC 的歷史仍然在繼續,他的傳奇仍然被人所傳頌。

Windows 下的 GCC 家族

起初, GCC 是用於 Unix,Unix-like 系統的編譯器。不過,如今 Windows 下也出現了 GCC 的穩定移植版。這要感謝 Internet 上衆多程序員的共同努力。

現在,在Windows下比較流行的GCC移植版主要有三個。他們是 MinGW,CygwinDjgpp。雖然,Djgpp是應用於DOS系統的,考慮到windowsDOS的兼容,因此也將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

第二節 入鄉隨俗的MinGWwindows

簡介

MinGWMinimalistic GNU for Windows 的縮寫。她是一個創建在GCCbinutils 項目上的編譯器系統。和其餘GCC的移植版相比,她能夠說是最接近Win32的一個了。由於,MinGW幾乎支持全部的Win32API,這也是MinGW的特點之一。她所鏈接的程序,不須要任何第三方庫就能夠運行了。在某種程度上看,MinGW更像是VC的替代品。api

得到與安裝

MinGW能夠從MinGW的官方網站 http://www.mingw.org 上得到。函數

若是,你要安裝 MinGW ,那麼你有兩種安裝方案。下面我來一一介紹。

安裝方案一:

首先,你要從 http://www.mingw.org/download.shtml 上下載以下幾個壓縮包。考慮到文件的更新和文章的靈活性。我將只寫出文件的主要部分,將省去版本好和更新日期。工具

gcc-core C語言編譯器
gcc-c++ C++語言編譯器
mingw-runtime MinGW的運行時庫(這個必須安裝)

win32apipost

win32API函數頭文件和鏈接庫

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 爲用戶作了更好多的安排。她爲用戶提供了一個定製安裝的頁面。
您只須要在上面填寫響應的內容,而後遞交。她將會給你一份完整的安裝方案。

使用

相對來講, Djgpp 我並非常用。因此,本文中在沒有特殊說明狀況下,不會使用 Djgpp 的。

文外音:

整體來講,這篇文章寫的有些匆忙。因此可能有些地方有不足。因此,但願各位可以多多原諒批評和指教。下一章,我將介紹GCC for Win32IDE。同時,從這一章開始,我將向各位讀者作一個小小的要求。那就是,但願大家可以將本身對這篇文章感到的不足告訴我,我將隨時修改以發表的內容,以適合廣大讀者的要求。若是各位有什麼想法或者意見,疑惑。 

相關文章
相關標籤/搜索