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。编辑器