欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

mingW與cygwin

系統(tǒng) 2339 0

轉(zhuǎn)自: http://hi.baidu.com/ooxxer/item/d25dccc072846a50ac00ef7e#

首先MingW和cygwin都可以用來跨平臺開發(fā)。?
MinGW是Minimalistic GNU for Windows的縮寫,也就是Win版的GCC。?
Cygwin則是全面模擬了Linux的接口,提供給運行在它上面的的程序使用,并提供了大量現(xiàn)成的軟件,更像是一個平臺。?
相對的MingW也有一個叫MSys(Minimal SYStem)的子項目,主要是提供了一個模擬Linux的Shell和一些基本的Linux工具。因為編譯一個大型程序,光靠一個GCC是不夠的,還需要有Autoconf等工具來配置項目,所以一般在Windows下編譯ffmpeg等Linux下的大型項目都是通過Msys來完成的,當(dāng)然Msys只是一個輔助環(huán)境,根本的工作還是MingW來做的。
用MingW和cygwin編譯出來的程序的區(qū)別。?
首先MingW和cygwin都不能讓Linux下的程序直接運行在Windows上,必需通過源代碼重新編譯。?
現(xiàn)代操作系統(tǒng)包括Windows和Linux的基本設(shè)計概念像進程線程地址空間虛擬內(nèi)存這些都是大同小異的,之所以二者上的程序不能兼容,主要是它們對這些功能具體實現(xiàn)上的差異,首先是可執(zhí)行文件的格式,Window使用PE的格式,并且要求以.EXE為后綴名。Linux則使用Elf。其次操作系統(tǒng)的API也不一樣,如Windows用CreateProcess()創(chuàng)建進程,而Linux使用fork()。?
所以要移植程序必然要在這些地方進行改變,MingW有專門的W32api頭文件,來把代碼中Linux方式的系統(tǒng)調(diào)用替換為對應(yīng)的Windows方式。而Cygwin則通過cygwin1.dll這個文件來實現(xiàn)這種API的轉(zhuǎn)換,并模擬一個Linux系統(tǒng)調(diào)用接口給程序,程序依然以Linux的方式調(diào)用系統(tǒng)API,只不過這個API在cygwin1.dll上,cygwin1.dll再調(diào)用Windows對應(yīng)的實現(xiàn),來把結(jié)果返回給程序。?
可以用查看他們編譯好的程序的導(dǎo)入表來驗證這點。?
二者生成的程序都是能在Windows上運行的EXE文件,顯然都是PE格式,用一個PE格式查看工具檢查一下就能發(fā)現(xiàn),Cygwin生成的程序依然有fork()這樣的Linux系統(tǒng)調(diào)用,但目標(biāo)庫是cygwin1。而MingW生成的程序,則全部使用從KERNEL32導(dǎo)出的標(biāo)準(zhǔn)Windows系統(tǒng)API。?
這樣看來用Mingw編譯的程序性能會高一點,而且也不用帶著那個接近兩兆的cygwin1.dll文件。?
但Cygwin對Linux的模擬比較完整,甚至有一個Cygwin X的項目,可以直接用Cygwin跑X。?
另外Cygwin可以設(shè)置-mno-cygwin的flag,來使用Mingw編譯。?
而與Cygwin更有可比性的MSys上的工具也是通過Cygwin這種模擬的方式來提供的。?
總之這兩個項目有千絲萬縷的關(guān)系,一個不恰當(dāng)?shù)谋确剑绻鸐ingw是MFC,Cygwin就是.NET了。

=====================

1.修改編譯器,讓window下的編譯器把諸如fork的調(diào)用翻譯成等價的形式--這就是mingw的做法.?
2.修改庫,讓window提供一個類似unix提供的庫,他們對程序的接口如同unix一樣,而這些庫,當(dāng)然是由win32的API實現(xiàn)的--這就是cygwin的做法.

mingW與cygwin


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产97色在线 | 日韩 | 午夜免费看片 | 天天干天天操天天做 | 亚洲欧美国产一区二区三区 | 日韩精品在线视频 | 亚洲欧美国产精品久久久久久久 | 欧美黑人狂野猛交老妇 | 极品久久 | 精品久 | 国内自拍视频在线看免费观看 | 日本三级带日本三级带黄国产 | 国产欧美精品在线 | 久草在线在线精品观看 | 福利在线免费 | 久久久精品一区 | 欧美日韩中文字幕一区二区高清 | 国产日韩视频 | 精品不卡| 91视视频在线观看入口直接观看 | 王骏迪的个人资料 | 日本视频一区在线观看免费 | 日韩网红少妇无码视频香港 | 日日日bbb | 黄色av网站在线观看 | 久久欧美精品1024你懂得 | 亚洲一区二区三区久久久 | 温如玉二虎大结局1800 | 亚洲 欧美 日韩 在线 | 久久久久日韩精品免费观看网 | 欧美日韩高清不卡一区二区三区 | 超碰97人人艹 | 国产一区日韩精品 | 久久欧美精品1024你懂得 | 国产亚洲成在线播放va | 亚洲性人人天天夜夜摸 | 亚洲www啪成人一区二区麻豆 | 国产一区二区久久 | 日韩中文字 | 黄色成人av | 99热久久这里只有精品6国产网 | 国产精品激情福利视频 |