MinGW,即 Minimalist GNU For Windows。該集合容許人們在沒有第三方動態連接庫的狀況下使用 GCC(GNU Compiler C)產生 Windows32 程序。
MinGW 官方網站爲 http://www.mingw.org ,下載 Automated MinGW Installer 安裝器,能夠選擇下載/安裝你須要的工具包。
實際上 MinGW 並不單單是一個 C/C++ 編譯器,而是一套 GNU 工具集合。除開 GCC (GNU 編譯器集合) 之外,MinGW 還包含有一些其餘的 GNU 程序開發工具 (好比 gawk bison 等等)。
開發 MinGW 是爲了那些不喜歡工做在 Linux(FreeBSD) 操做系統而留在 Windows 的人提供一套符合 GNU 的 GNU 工做環境。
(此前的 cygwin 雖然也是 GNU 的 Windows 移植,可是 cygwin 是有版權的,而不是 GNU。)
因此,使用 MinGW 咱們就能夠像在 Linux 下同樣使用 GNU 程序開發工具。
GCC 就是 MinGW 的核心所在,GCC 是一套支持衆多計算機程序語言的編譯系統,並且在語言標準的實現上是最接近於標準的。而且 GCC 幾乎能夠移植到目前全部可用的計算機平臺。(個人電腦上就還裝有 DevKitPro,裏面包含 GCC 的 ARM(for GBA/DS/GP32) 和 MIPS(for PSP) 版本。)
GCC 自己不像 VC 那樣擁有 IDE 界面(在 Windows 上也存在 Dev C++ 之類的支持 MinGW 編譯器的 IDE)。源代碼編輯你能夠選用任何你喜歡的文本編輯器(聽說微軟的開發人員包括 VC 的開發都不用 VC 所帶的 IDE 編輯器,而是選用 GNU 的 VIM 編輯器)。而後使用 make 等工具來進行軟件項目的編譯、連接、打包乃至發佈。而像 cvs(svn) 源代碼版本控制工具可讓世界上任何一個角落的人均可以參與到軟件項目中來。
關於 MFC,微軟基礎庫類,這個隨 VC++ 攜帶的一個源代碼公開的開發包,和其餘 Windows 程序開發包是同樣的。若是有 VC++ 的受權,你徹底可使用 MFC 的源代碼,也就是你使用 GCC 來編譯 MFC 程序是徹底能夠的。
固然,GNU 下也不少 Windows 程序開發包,甚至有一些是支持跨平臺使用的。不單單能夠直接把源代碼編譯爲 Windows 程序,也能夠不經修改編譯爲其餘操做系統的圖形程序。
不過 GNU 下,最流行的圖形界面開發庫是 GTK+。GTK+ 也能很好的運行在 Windows 平臺(好比 GIMP 和 Gaim)。
整體說來,使用 MinGW 就是 GNU。編輯器