2014-09-09 5 views
33

के बीच अंतर पारंपरिक रूप से एमएसवाईएस बैश को सिगविन बैश से कम माना जाता है। पूर्व ऑटोकॉन्फ स्क्रिप्ट चलाने के उद्देश्य से मिनीजीडब्ल्यू के अंदर एक सहायक उपकरण था। लेकिन अब मिनजीडब्ल्यू-डब्ल्यू 64 और एमएसवाईएस 2 है। उत्तरार्द्ध जहाजों को पैकेज मैनेजर और जेश जैसे सुरुचिपूर्ण गोले जैसे मीठे पॅकमैन के साथ जहाज, इसलिए मुझे आश्चर्य है कि इम्यूलेशन परत में अभी भी कोई अंतर है या नहीं।MSYS2 और Cygwin

जबकि मिनजीडब्ल्यू * अनुप्रयोग विंडोज मूल निष्पादन योग्य हैं, एमएसवाईएस 2 सॉफ़्टवेयर को पॉज़िक्स-इम्यूलेशन परत की आवश्यकता होती है, जैसे सिगविन करता है। कम से कम एक आरामदायक उपयोगकर्ता के लिए, दोनों के बीच मतभेदों को खोजना मुश्किल है।

  • दो अनुकरण परतों (यदि कोई है) के बीच कार्यात्मक अंतर कौन सा हैं?
  • कौन सा अनुकरण तेजी से (अधिक कुशल) है?
+1

यदि राय नहीं हैं तो आप किस तरह के लाभ ढूंढ रहे हैं? – Scimonster

+0

@ सिकिमोनस्टर मैं तकनीकी और कार्यान्वयन विवरण की तलाश में हूं जो दो परियोजनाओं में से एक को अधिक POSIX अनुपालन कर सकता है और व्यक्तिगत उपयोग अनुभवों के लिए नहीं: उदा। प्रोजेक्ट एक्स 'cygwin.dll' पर आधारित है या नहीं और प्रोजेक्ट एक्स आरामदायक पॅकमैन इंस्टॉलर का उपयोग नहीं करता है। मुझे लगता है कि उत्तरार्द्ध सिर्फ आपको पसंद है पर एक राय है। – antonio

+0

उत्सुक, मैंने सोचा कि फोर्कड प्रोजेक्ट से तीन फोर्क अलग कैसे हैं: [stackoverflow.com/q/25019057 ](httpoverflow.com/q/25019057/1851270) यहां से पूछने वाले खुद कहता है: "मैं इस प्रश्न को बेहतर बनाने के लिए किसी भी सुझाव के लिए खुला हूं। मुझे लगता है कि यह बेहतर हो सकता है।", मैंने केवल नवीनतम फोर्क (एमएसवाईएस 2) पर अधिक संदर्भ दिया। इसके बजाय तीन-कांटे के सवाल कानूनी हैं और मेरा नहीं लगता है। – antonio

उत्तर

43

परंपरागत रूप से एमएसवाईएस बैश कम रहा है, लेकिन अधिकतर क्योंकि सिग्विन सक्रिय विकास में रहा है जबकि एमएसवाईएस नहीं था। एमएसवाईएस सिग्विन संस्करण 1.3.3 से फोर्क किया गया और कभी भी पुनः समन्वयित नहीं हुआ, जबकि एमएसवाईएस 2 नियमित रूप से सिग्विन परियोजना के साथ resyncs।

हमारे पास "पैकेज मैनेजर की तरह मीठा पॅकमैन" नहीं है, हमारे पास आर्क लिनक्स के पॅकमैन पैकेज मैनेजर के पुन: संकलन के रूप में प्रत्यक्ष रूप से संकलन है जैसा हम प्राप्त कर सकते हैं।

MSYS2 में cygwin.dll नहीं है लेकिन इसमें msys-2.0.dll है जो एक ही चीज़ (और कुछ और इसके अलावा) करता है। विशेष रूप से, तर्क जो पथ और पाथ एनवी की तरह दिखते हैं। Windows- मूल सॉफ़्टवेयर चलाते समय var को Windows फ़ॉर्म में परिवर्तित कर दिया जाता है।

चाहे यह धीमा हो, मुझे उम्मीद है कि बहुत कम अंतर आएगा लेकिन अतिरिक्त रूपांतरण कार्य के कारण एमएसवाईएस 2 धीमी गति से धीमी होगी। फिर फिर, संभावना है कि आप साइगविन से एमएसवाईएस 2 (जैसे मिनजीडब्ल्यू-डब्ल्यू 64 कंपाइलर्स) के भीतर से अधिक विंडोज-नेटिव सॉफ़्टवेयर चलाएंगे ताकि चीजें एमएसवाईएस 2 के पक्ष में वापस आ जाएंगी।

+15

यह उल्लेख करता है कि रे डोनेली एक एमएसवाईएस 2 डेवलपर है। तो उसका जवाब बहुत विश्वसनीय माना जाना चाहिए। उम्मीद है कि निकट भविष्य में इसी तरह की जानकारी [msys2.github.io] (http://msys2.github.io) या [github.com/msys2](https://github.com/msys2) – antonio

+3

में जोड़ा जाएगा एसएफ पर यह है: https://sourceforge.net/p/msys2/wiki/How%20does%20MSYS2%20differ%20from%20Cygwin/ –

+0

https://github.com/msys2/msys2/wiki/How-Does -MSYS2-differ-from-Cygwin निक के लिंक का अद्यतन स्थान है। – anishpatel

6

साथ ही साथ मैं समझता हूं, एमएसवाईएस 2 मिनीगू-डब्ल्यू 64 पैकेजों का उपयोग करने की संभावना प्रदान करने के लिए मुख्य लक्ष्य के साथ सिग्विन का एक कांटा है। वह लक्ष्य उपलब्ध सॉफ़्टवेयर की कुल संख्या के खर्च पर हासिल किया जाता है। MSYS2 और Cygwin की सूची की तुलना करें।

अनिवार्य रूप से, यह सब कुछ है। इसलिए जब आपको MinGW-w64 के तहत कुछ संकलित करने की आवश्यकता नहीं थी, तो आपके पास मूल साइगविन की बजाय MSYS2 का उपयोग करने का कोई कारण नहीं होगा।

+0

+1 मुझे लगता है कि MSYS2 में 'cygwin.dll' नहीं है। क्या इसका मतलब है कि इसके उपकरण अधिक कुशल हैं? अगर मेरे पास स्रोत कोड है, तो लिनक्स को लक्षित करना (लेकिन एक्स का उपयोग नहीं करना मानें), क्या साइगविन MSYS2 से इसे बनाने की अधिक संभावना है? – antonio

+5

MSYS2 बस कुछ और 'cygwin.dll' कहता है। यह एक ही सिग्विन करता है। आपका कोड MSYS2 की तुलना में सिगविन के साथ काम करने की अधिक संभावना है। एमएसवाईएस 2 वास्तव में एमएसवाईएस 2 के हिस्से के अलावा एमएसवाईएस 2 प्रोग्राम बनाने के लिए नहीं है। एमएसवाईएस 2 मुख्य रूप से यूनिक्स-जैसी टूल्स का उपयोग कर विंडोज "मूल" प्रोग्राम बनाने के लिए था। विशेष रूप से इसे जीएनयू ऑटोकॉन्फ 'कॉन्फ़िगरेशन' स्क्रिप्ट चलाने के लिए डिज़ाइन किया गया है। –

+4

"जबकि आपको MinGW-w64 के तहत कुछ संकलित करने की आवश्यकता नहीं थी, आपको मूल साइगविन की बजाय MSYS2 का उपयोग करने का कोई कारण नहीं होगा।" - मुझे लगता है कि आप घोड़े के सामने गाड़ी डालते हैं! हम MinGW-w64 या उसके संकुल _specifically_ का उपयोग करने के लिए MSYS2 का उपयोग नहीं करते हैं। हम जीएनयू स्टाइल टूल्स के माध्यम से देशी विंडोज प्रोग्राम संकलित करने के लिए एमएसवाईएस 2 का उपयोग करते हैं। कंपाइलर होने के नाते MinGW-w64, कई तरीकों से, इसमें केवल एक कार्यान्वयन विस्तार है। MSYS2 का उपयोग करने का कारण इसके मूल निर्माण प्रणाली के लिए है, विशेष रूप से इसके कंपाइलर नहीं ... हालांकि, सुनिश्चित करें कि संकलक इसे सभी संभव बनाता है :-) –

संबंधित मुद्दे