實際上 MinGW 並不是一個 C/C++ 編譯器,而是一套 GNU 工具集合。除開 GCC (GNU 編譯器集合) 以外,MinGW 還包含有一些其他的 GNU 程式開發工具 (比如 gawk bison 等等)。
開發 MinGW 是為了那些不喜歡工作在 Linux(FreeBSD) 作業系統而留在 Windows 的人(比如我)提供一套符合 GNU 的 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。
實際上 MinGW 並不是一個 C/C++ 編譯器,而是一套 GNU 工具集合。除開 GCC (GNU 編譯器集合) 以外,MinGW 還包含有一些其他的 GNU 程式開發工具 (比如 gawk bison 等等)。
開發 MinGW 是為了那些不喜歡工作在 Linux(FreeBSD) 作業系統而留在 Windows 的人(比如我)提供一套符合 GNU 的 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。