2009-06-18 15 views
7

मुझे हमेशा एक स्क्रिप्टिंग भाषा से 'वास्तविक exe' बनाने का यह सपना था। पाइथन और रूबी के डीएलआर-आधारित कार्यान्वयन के उपलब्ध होने के साथ, क्या यह वास्तविकता के करीब है?आयरन पायथन/आयरन रूबी EXE

मैं एक 'असली अनुप्रयोग' बनाना चाहते हैं:

  • एक Windows Forms अनुप्रयोग
  • एक कंसोल अनुप्रयोग
  • एक Windows सेवा

और वितरण की इकाई है एक संकलित exe हो।

क्या यह संभव है? या एमएस ने अभी .NET के आधार पर स्क्रिप्ट फ़ाइल दुभाषिया बनाई है?

यदि आप ऐसा कर रहे हैं, तो आप अपने एप्लिकेशन/परियोजनाओं को कैसे बना रहे हैं? क्या आप सी # और डीएलआर कोड का एक संकर उपयोग कर रहे हैं?

उत्तर

4

एक आयरनपीथन या आयरनआरबी परियोजना को एक डीएल या निष्पादन योग्य में संकलित किया जा सकता है और ठीक से 'वास्तविक' निष्पादन योग्य होगा साबित करें कि उनके पास चल रहे व्यक्ति के पास प्रासंगिक नेट फ्रेमवर्क और निर्भरता स्थापित होनी चाहिए (निर्भरता डिफ़ॉल्ट रूप से उसी निर्देशिका में मौजूद हो सकती है लेकिन ढांचे को स्थापित किया जाना चाहिए)। विजुअल स्टूडियो के साथ एकीकरण अभी भी नहीं है लेकिन IronPythonStudio जैसी परियोजनाओं को अच्छे प्रभाव के लिए मुफ्त वीएस शैल का उपयोग करें। वीएस 2010 में सी # गतिशीलता के लिए निर्भरता के रूप में डीएलआर का अस्तित्व यह होना चाहिए कि लौह * समूहों से वीएस के साथ एकीकरण एक आसान लक्ष्य और उच्च प्राथमिकता बन जाता है।

परिणाम किसी भी तरह से व्याख्या नहीं किया गया है (सीआईएल को रनटाइम पर मशीन कोड में या वांछित होने पर एनजेन के माध्यम से लगाया जाता है) और डीएलआर के कुछ पहलुओं का मतलब है कि कुछ क्रियाएं देर से बाध्यकारी के लिए समान रूप से स्थगित होती हैं लेकिन अधिक शक्तिशाली और महत्वपूर्ण रूप से कुछ परिष्कृत कैशिंग तंत्र इसे निष्क्रिय दुभाषियों की तुलना में तुलनात्मक रूप से तेज़ होने की अनुमति देते हैं।

कई पारंपरिक रूप से व्याख्या की गई स्क्रिप्टिंग भाषाएं अपनी स्वयं की वीएम आधारित संकलन रणनीतियों या मौजूदा लोगों का लाभ उठा रही हैं (जैसे जेवीएम, नेट सीएलआर या LLVM जैसे खुले वाले) क्योंकि इससे कई आम मामलों में महत्वपूर्ण प्रदर्शन बढ़ता है।

आयरन * भाषाओं के मामले में एमएस सीएलआर के आधार के रूप में लाभ यह है कि परिणामस्वरूप निष्पादन योग्य 'जस्ट वर्क' सबसे आम ओएस परिवार की स्थापना के विशाल बहुमत पर है। जावा पर कंट्रास्ट जहां कई ऑपरेटिंग सिस्टम में खोल के माध्यम से सीधे क्लिक करके/या 'निष्पादन' पर एक जार फ़ाइल 'रननेबल' नहीं होती है। इससे फ्लिपसाइड यह है कि यह एक जेवीएम या एलएलवीएम आधारित समाधान कहने की तुलना में अंतःक्रियाशीलता को कम करता है जहां मंच समर्थन व्यापक है, लेकिन अनिवार्य रूप से, ओएस एकीकरण में अधिक विविधता है।

+0

आप प्रलेखन या इस के लिए एक प्रक्रिया प्रदान कर सकते हैं अप करने के लिए काम करता है?ऐसा प्रतीत नहीं होता है कि आप विजुअल स्टूडियो में "फाइल-> नई परियोजना" पायथन कर सकते हैं, इसलिए कुछ अतिरिक्त काम की आवश्यकता है। – JoshRivers

+0

वीएस एकीकरण अभी भी वहां नहीं है (मैं उस प्रभाव में एक नोट जोड़ूंगा) लेकिन आप वीएस जैसे पर्यावरण प्राप्त करने के लिए http://www.codeplex.com/IronPythonStudio का उपयोग कर सकते हैं (यह कट ऑफ वीएस शैल का आधार है) – ShuggyCoUk

+0

आपके निष्पादन योग्य में संकलित डीएलआर कोड प्राप्त करने की वास्तविक विधि क्या है? मैं केवल नीचे दिए गए उत्तर में लिंक ढूंढने में सक्षम हूं, और यह केवल बीटा कोड को संदर्भित करता है। – JoshRivers

1

आप Py2Exe का उपयोग कर नियमित पायथन से exe बना सकते हैं। लेकिन विजुअल स्टूडियो या SharpDevelop

-1

हालांकि सीधे लोहा * प्रश्न से संबंधित नहीं, अजगर स्क्रिप्ट से किसी को चाहने binaries के लिए दिलचस्प हो सकता है: pyinstaller विंडोज (32-बिट और 64-बिट), लिनक्स (32-बिट और तहत

काम करता है 64 बिट) और मैक ओएस एक्स (32-बिट केवल)

1.5 से अजगर के किसी भी संस्करण के तहत 2.7

+1

को प्रश्न – oma

+0

के साथ * कुछ भी नहीं मिला है यदि आप प्रश्न पोस्ट की पहली वाक्य पढ़ते हैं, तो आप देखेंगे कि मेरे पोस्ट को प्रश्न के साथ क्या करना है ... – Matus

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