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編譯。