close

Cygwin

是提供Windows使用者一個unix-like環境的套件

這個套件將Linux上常用到的system call, tools等porting到windows

Cygwin裡有一個cygwin1.dll模擬了Linux環境所會用到的API.

因此原則上只要有Source code, 在Cygwin底下編譯, 就可以編譯出在Cygwin底下執行的程式

(間接執行在windows上)


 

MinGW - Minimalistic GNU for Windows

這個套件是從Cygwin1.3.3分支出來, 也是提供Windows使用者一個unix-like環境

但並不像Cygwin一樣多提供一個dll中介,而是直接使用Win32 API.

所以可以把他看做僅是提供一個unix-like shell環境的一支windows程式

其實跟少了IDE介面的Visual studio差不多

 

兩者的比較

程式執行的效率

由於Cygwin多了一個dll當中介層,因此在Cygwin環境下所產生的程式

僅能在有cygwin1.dll的環境下執行,也由於多了這個dll,相較於MinGW使用原生Win32 API

Cygwin底下編譯出來的程式比在MinGW下編譯出來的程式執行效率來的差

MinGW也由於是直接使用Win32 API,因此編譯出來的程式就可以直接執行,無須額外的dll存在

 

程式碼移植性

Cygwin因為多了cygwin1.dll模擬了Linux,因此在Linux上開發的程式碼原則上都可以直接

拿來Cygwin上編譯並執行,所以在移植性方面Cygwin比較comfortable

但若Linux的程式碼要拿到MinGW上去編譯,就沒那麼順利了

 

PS.今天本來想要好好來建置一下Cygwin的環境

結果查了一些資料又看得太入迷了,很常幹這種事

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 kaogold3 的頭像
    kaogold3

    持續探索中

    kaogold3 發表在 痞客邦 留言(0) 人氣()