gcc for Windows 開發環境介紹
阿新 • • 發佈:2018-12-19
導讀: 在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。同時,從這一章開始,我將向各位讀者做一個小小的要求。那就是,希望你們能夠將自己對這篇文章感到的不足告訴我,我將隨時修改以發表的內容,以適合廣大讀者的要求。如果各位有什麼想法或者意見,疑惑。 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1819084 本文轉自 http://blog.csdn.net/Mobidogs/archive/2007/10/10/1819084.aspx