千丝万缕--C语言编译器
GNU:
GNU是一个自由的操作系统,其内容软件完全以GPL方式发布。这个操作系统是GNU计划的主要目标,名称来自GNU's Not Unix!的递归缩写,因为GNU的设计类似Unix,但它不包含具著作权的Unix代码。GNU的创始人,理查德·马修·斯托曼,将GNU视为“达成社会目的技术方法”。作为操作系统,GNU的发展仍未完成,其中最大的问题是具有完备功能的内核(HURD)尚未被开发成功。在实际使用上,多半使用Linux内核、FreeBSD等替代方案,作为系统核心,其中主要的操作系统是Linux的发行版。 百度百科
GCC:
GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。)
GCC的初衷是为GNU操作系统专门编写一款编译器,现已被大多数类Unix操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,甚至在微软的Windows上也可以使用GCC。
搜狗百科
Cygwin:
Cygwin(GUN Cygnus windows)是许多自由软件的集合,最初由Cygnus Solutions(一家为自由软件服务的公司)开发。Cygwin的主要目的是通过重新编译,将POSIX(可移植操作系统接口,Portable Operating System Interface,例如Linux、BSD,以及其他Unix系统)系统上的软件移植到Windows上,当前Cygwin由Red Hat等负责维护。 维基百科
MinGW:
MinGW(Minimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils移植到Win32平台下的产物,包括一系列头文件(Win32API)、库和可执行文件。 Cygwin 与 MinGW 皆可用来移植 Unix 软件到 Windows,但它们采用截然不同的实现。Cygwin 旨在提供一个完整的 POSIX 层,包括主流 Unix 的系统调用及库实现;其重视兼容性优先于性能。相对的,MinGW 则着重简化与性能。 维基百科