cygwin,gcc,MinGW

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

歷史c++

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家族shell

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

現在,在Windows下比較流行的GCC移植版主要有三個。他們是 MinGW,CygwinDjgpp。雖然,Djgpp是應用於DOS系統的,考慮到windowsDOS的兼容,因此也將Djgpp歸入其中了。windows

整體來講,MinGWCygwinDjgpp各有特點,針對不一樣的應用場合,能夠選擇不一樣的移植版來知足須要。MinGW這個系列的移植,主要方向是讓GCCWindows移植版能使用Win32API來編程。而Cygwin的目標是能讓Unix-like下的程序代碼在Windows下直接被編譯。至於Djgpp,則是想讓DOS下也能用上GCCapi

因此,對於開發人員不一樣的需求。選擇合適的移植版會讓工做變得輕鬆而高效。服務器

本書的GCC函數

我我的對GCC的移植版都很是喜歡。不管是MinGW仍是Cygwin,亦或是Djgpp。在本書中,除了特殊說明之外,所述的內容適合全部這三種移植版。不過,考慮到如今在Windows下用的比較多的是MinGW系列。再加上MinGWCygwinDjgpp安裝和使用更爲簡便。因此,建議讀者學習時仍是使用MinGW工具

第二節 入鄉隨俗的MinGW

簡介

MinGWMinimalistic GNU for Windows 的縮寫。她是一個創建在GCCbinutils 項目上的編譯器系統。和其餘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

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/

第四節 腳踏兩隻船的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 Win32IDE。同時,從這一章開始,我將向各位讀者作一個小小的要求。那就是,但願大家可以將本身對這篇文章感到的不足告訴我,我將隨時修改以發表的內容,以適合廣大讀者的要求。若是各位有什麼想法或者意見,疑惑。 

 

   Cygwin是一個用於在Windows上模擬Linux環境的軟件。它能夠做爲那些虛擬機軟件的一個部分替代品。之因此將它排在第一個來介紹,是由於它實在給我幫了很大的忙。

運行Cygwin後,你會獲得一個相似LinuxShell環境,在其中你可使用絕大部分Linux軟件和功能。如Gcc,Make,Vim,Emacs等等。總之若是你想使用某個Linux下的功能,而windows上又找不到好的替代品的話,你就能夠用Cygwin。我使用的最頻繁的是GccMake。我常常用它們來編譯一些我從網上下載的開源的工程。這些工程在Windows上編譯每每很麻煩。我也用它作過X Server來鏈接一臺真正的Linux服務器,用來測試一個用tcl/tk編寫的跨平臺的用戶界面程序。下面,我逐步介紹Cygwin的基本用法。

使用

   安裝完成後,在桌面上會有一個Cygwin的圖標,雙擊它,會出現一個windows的命令窗口,過一會,你就會見到熟悉(或者陌生)LinuxShell界面。試一試ls ,是否是能夠工做了?

從今日後,你就能夠自由的在windows下使用Linux的軟件了。基本上你能用到,cygwin都有。若是你要開發能夠在兩個平臺上運行的程序,cygwin也是你前期試驗的好地方。從互聯網上下載的各類開源代碼,也能夠在Cygwin裏編譯,運行,調試。下面介紹一些使用技巧,更多地還要靠你們本身探索拉!

   使用Cygwin訪問windows的文件
Cygwin
安裝後,其根目錄位於你的安裝目錄下。因此使用cd /,只能訪問到你的安裝目錄,要訪問硬盤上的其餘文件,可使用mount:
mount D:/testdir ~/testdir
這樣,你就能夠在~/testdir裏訪問到D:/testdir裏的內容了。

使用Cygwin做爲X Server
如今的Linux服務器通常都提供X,要從Windows上使用LinuxX,須要在Windows上運行一個X Server。有一些專門爲windows開發的軟件能夠作這個,可是Cygwin自帶的X server就能夠勝任。下面舉例說明如何使用:
首先你必須安裝X11包,而後運行Cygwin shell,輸入x&。這時候你的桌面上出出現一個佈滿斜紋大窗口,這就是咱們的X server了,回頭Linux機器上的程序就會顯示在這裏:

Cygwin能作什麼?

  • WindowsDos Scripts功能很是薄弱,命令行工具也很是少;若是您對Linux比較熟悉,那麼Cygwin能夠幫助您在Windows下面使用強大的Bash,以及使用數量繁多的Linux命令,經過Scripts,能夠更加高效的完成系統管理工做 [站長維護的幾臺Windows服務器上都安裝有Cygwin,全部的系統維護,數據備份,SCP自動同步,都是在Cygwin下面處理的。](不能否認,不少時候,命令行工具比圖形界面工具要方便快捷)
  • 若是您剛進入Linux的世界,使用Cygwin可讓你在Windows下面練習LinuxBash,以及經常使用工具。而不須要安裝Linux,也不用擔憂Windows被破壞。
相關文章
相關標籤/搜索