POSIX
表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX),POSIX标准定义了操作系统应该为应用程序提供的接口标准,
是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称。
POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使
是来自另一个厂商)上编译执行。
MinGW
移植到windows的一个GUN开发环境,提供完全开放源码的变成工具集,而且不依赖第三方的C运行时库依赖一部分的windows自带的,像MSVCRT.dll,
微软c运行库。mingw编译器提供了调用微软c runtime和一些特殊语言库,但是并不提供POSIX规范,如果要使用POSIX,可以用Cygwin。
包括:
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上提供一个通用的命令行环境,适合与mingw
使用,用于许多开源程序移植到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编译。