无论何种程度的程序员,都应该了解MinGW,Cygwin,MSYS和GNU。
MinGW:http://www.mingw.org/
CygWin:http://www.cygwin.com/
Msys2:http://www.msys2.org/
关于GNU
GNU是“GNU's Not Unix”的递归缩写,代表一套向上兼容Unix的完全自由的操作系统。开发GNU系统的工程叫做“GNU工程”,构思与1983年,主要由Richard Stallman发起。从1984年1月开始,并在1985年10月创立自由软件基金会,它初期为开发GNU募集资金。GNU工程并不限于核心操作系统。目标是提供一个完整的软件系列,满足很多用户的任何要求。这包括应用软件。甚至想要提供游戏和其他娱乐应用。
Stallman和Linus Torvalds
很多人记住了Linus Torvalds,但并不知道Stallman是谁。Linus开发了Linux,而Stallman是GNU的早期发起者。他们都创造了奇迹,改变了世界。
从1984年1月开始到1990年,Stallman他们或者找到或者写出了所有主要的组件,除了一个—内核。Linus Torvalds在1991年开发了一个类似Unix的内核Linux,并在1992年将其变成自由软件。将Linux与几乎完成的GNU系统结合在一起就是一个完全的操作系统:GNU/Linux系统。估计现在有几千万人在使用GNU/Linux系统,通常是GNU/Linux发行版。
linux:https://www.linux.org/
就像魔兽世界里生命之泉和大BOSS有神奇的魔力一样(个人并不了解魔兽世界),GNU是自由软件世界的精神家园,召唤着无数开发者为自由而战。
回到现实世界,Microsoft 依靠软件产品建立了庞大的商业帝国。Windows才是地球上最流行的操作系统。为了能在Windows操作系统下使用GNU环境,有了MinGW,CygwinMsys和Msys2。
关于MinGW
MinGW是 "Minimalist GNU for Windows"的缩写, 是Windows操作系统下最小GNU开发环境,提供完整的开发工具集。
包括:
- A port of the GNU Compiler Collection (GCC), including C, C++, ADA and Fortran compilers;
- GNU Binutils for Windows (assembler, linker, archive manager)
- A command-line installer, with optional GUI front-end, (mingw-get) for MinGW and MSYS deployment on MS-Windows
- A GUI first-time setup tool (mingw-get-setup), to get you up and running with mingw-get.
关于Cygwin
Cygwin 是什么:
- a large collection of GNU and Open Source tools which provide functionality similar to a Linux distribution on Windows.
- a DLL (cygwin1.dll) which provides substantial POSIX API functionality.
关于Msys和Msys2
MSYS2 is a software distro and building platform for Windows.