回覆列表
  • 1 # 哈嘍8883

    MSYS是windows的.dll/.exe等檔案的庫檔案, 庫檔案就是幫你實現了某些功能的庫函式的封裝,你可以在你的程式中呼叫這些函式,然後連線一下就可以了。區別:cygwin/gcc和MinGW都是gcc在windows下的編譯環境 cygwin/gcc完全可以和在linux下的gcc化做等號,這個可以從boost庫的劃分中可以看出來端倪,cygwin下的gcc和linux下的gcc完全使用的是相同的Toolsets。所以完全可以和linux一起同步更新gcc版本,而不用擔心問題,並且在cygwin/gcc做的東西(不用微軟的)可以無縫的用在linux下,沒有任何問題。是在windows下開發linux程式的一個很好的選擇。但是在cygwin/gcc下編譯出來的程式,在windows執行必須依賴cygwin1.dll,如果不想依賴這個東西的化,必須在gcc的編譯選項中加入-mno-cygwin。加入這個選項其實gcc編譯器就會自動的選擇在安裝cygwin/gcc時安上的mingw,這個mingw就是gcc的一個交叉編譯。 對於mingw作為gcc在windows上的一個實現,由於不像cygwin的gcc在一個模擬linux上執行,同時相當一部分linux的工具不能夠使用,不過現在已經有Msys這個模擬unix的shell,可以解決很多的問題,不過沒有cygwin好用,而cygwin/gcc的no-cygwin選項又依賴於mingw的支援,所以更新的更慢的,現在只是到3.3.3。在mingw下也是可以升級gcc的,不過需要使用msys。升級方法和在cygwin和linux下差不多,就不再羅嗦了。不過就我的升級經驗來看好像都不太順利。具體深入的測試,我也沒有時間做了。 也是可以讓cygwin的最新安裝的gcc支援no-cygwin,需要再做一遍交叉編譯,但是我不會做,只好算了,呵呵,也許那一天我把這個搞定,再開一個貼吧。 根據以上的分析,如果在windows開發linux程式,cygwin是很好的選擇。如果你開發的程式不介意有一個cygwin1.dll的話,也是可以選擇cygwin的。如果你是想開發windows下的程式,還要必須用gcc的化,mingw是很好的一個選擇。但是在windows下有太多的編譯器了,bc,vc,intel c.....。 順便說就題外的化,據說gcc4.0.0效能有很大的提升,如果我升級完gcc4後,再編譯一把gcc4是不是以後的編譯效能會提高很多呢?有機會一定要測試一下了,呵呵。 一個技巧:如何知道當前版本的gcc的安裝配置,用命令:gcc -v就可以了,呵呵。

  • 中秋節和大豐收的關聯?
  • 有慢性結腸炎、直腸炎的人,吃益生菌有效嗎?