POSIX前端
表示可移植操做系统接口(Portable Operating System Interface ,缩写为 POSIX),POSIX标准定义了操做系统应该为应用程序提供的接口标准,
是IEEE为要在各类UNIX操做系统上运行的软件而定义的一系列API标准的总称。linux
POSIX标准意在指望得到源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操做系统编写的程序,应该能够在任何其它的POSIX操做系统(即便git
是来自另外一个厂商)上编译执行。shell
MinGW
移植到windows的一个GUN开发环境,提供彻底开放源码的变成工具集,并且不依赖第三方的C运行时库依赖一部分的windows自带的,像MSVCRT.dll,windows
微软c运行库。mingw编译器提供了调用微软c runtime和一些特殊语言库,可是并不提供POSIX规范,若是要使用POSIX,能够用Cygwin。
bash
包括:
GUN编译器的接口,包括C,C++,ADA,Fortan编译器
汇编器,连接器
一个命令行安装程序,可选的GUI前端(mingw-get)用于MinGW和MS-Windows部署工具
MSYS 操作系统
"最小系统" 是一个Bourne shell命令行解释系统。Bourne shell(bsh),在unix系统中bsh的程序名叫sh。bash即bourne again shell,就是bsh的加强版,命令行
超集。在linux中也有一个程序叫sh的程序,可是他不是bsh,是一个指向bash的符号连接。MSYS用来在windows上提供一个通用的命令行环境,适合与mingwunix
使用,用于许多开源程序移植到MS平台。是Cygwin-1.3的克隆版本,包括了一个小型的unix工具集。
MSYS2
MSYS的一个独立的改写版本,能够说是MSYS的一个升级,继承了pacman,mingw-w64的cygwin升级版。提供了bash shell等linux环境、版本控制软件
(git/hg)和MinGW-w64 工具链。与MSYS最大的区别是移植了 Arch Linux的软件包管理系统 Pacman(实际上是与Cygwin的区别)。mingw-w64支持32,64位
应用程序。
cygwin
一个相似unix shell环境, 支持POSIX标准,用它编译的程序能够用到其余支持posix标准的机器上。一些开源程序为了支持跨平台,在windows上选用cygwin编译。