2008-09-30 12 views
10

मैं सोच रहा था कि क्या एक .NET- संगत सीएलआर था जिसे सीएलआई (सामान्य भाषा आधारभूत संरचना) का उपयोग करके कार्यान्वित किया गया था, उदाहरण के लिए, .NET का उपयोग करके, या कम से कम यदि कोई संसाधन था जो किसी के निर्माण में मदद करेगा।क्या कोई सीएलआर है जो सीएलआर पर चलता है?

असल में, .NET प्रोग्राम की तरह कुछ जो मेमरीस्ट्रीम के रूप में असेंबली लोड करता है, बाइटकोड को पार करता है, प्रकार बनाता है, और निर्देशों को निष्पादित करता है। वैकल्पिक रूप से, यह प्रतिबिंब का उपयोग कर मानक आईएल को जेआईटी-संकलन कर सकता है। स्वीकार करें या फिर।

मैं को मूल सीएलआर द्वारा चलाने के लिए एक .NET भाषा संकलित नहीं करना चाहता हूं। मैं एक सीएलआर चाहता हूं कि लिखा गया है एक .NET भाषा (अप्रबंधित सी ++ या सी जैसा आमतौर पर नहीं है) और रन सीआईएल। यदि सही किया गया है, तो यह स्वयं को चलाने में सक्षम होना चाहिए।

इस तरह की चीज़ के लिए मोनो.सीसिल का उपयोग करने पर कोई विचार?

+1

लेकिन ... क्यों? ऐसा करने के लिए यह एक बहुत ही अजीब बात है, और मैं किसी भी संभावित उपयोग-मामलों के साथ नहीं आ सकता। – davr

+5

@ डेवर: क्योंकि तब आप सीएलआर में सीएलआर में सीएलआर चला सकते हैं! – Shog9

+4

@Davr एओपी के समान तर्कों में से बहुत कुछ आता है लेकिन एक सीएलआर-आधारित सीएलआर भी सामान्य सीएलआर की तुलना में और अधिक "प्रबंधित" हो सकता है क्योंकि यह स्वयं पर प्रतिबिंबित हो सकता है और अनुकूलन समेत संशोधनों को संशोधित कर सकता है, एक सादे पुराने के साथ संभव नहीं CLR। इसके अलावा, यह बस अच्छा है। –

उत्तर

5

मुझे नहीं लगता कि वर्तमान में कोई स्टैंडअलोन है। नेट वीएम जो स्वयं होस्टिंग हैं लेकिन Cosmos और SharpOS दोनों # सी में लिखे गए नेट रनटाइम हैं।

एक रनअलोन रनटाइम के लिए अपने कुछ रनटाइम कोड का पुन: उपयोग करना संभव हो सकता है।ब्रह्मांड बूट पर एक कस्टम आवेदन की मेजबानी के लिए इस्तेमाल किया जा सकता: http://www.codeproject.com/KB/system/CosmosIntro.aspx

-2

सिस्टम को देखें। रिफ्लेक्शन। नेमस्पेस नाम, विशेष रूप से आईएलजीनरेटर क्लास।

आप फ्लाई पर आईएल उत्सर्जित कर सकते हैं।

http://msdn.microsoft.com/en-us/library/system.reflection.emit.ilgenerator_members.aspx

+0

जो मैं ढूंढ रहा हूं वह नहीं। मैं आईएल निष्पादित करना चाहता हूं, सी # संकलित नहीं करता हूं। –

+0

शायद मुझे कम करने से पहले थोड़ा सा शोध करें। – FlySwat

+0

मैंने आपको डाउनमोड नहीं किया था और फिर भी आपके पास एक अलग उत्तर था (यानी, कोडडॉम) –

1

मैं एक के बारे में पता नहीं हूँ, लेकिन विचारों frm JVM JVM पर चल उपयोगी होना चाहिए।

+0

कूल, मैक्सिन में मेटासिर्क्युलरिटी फोकस –

1

यदि आप "चलाता सीआईएल" से "JIT-संकलन सीआईएल मूल कोड के लिए," तो तुम Managed Operating System Alliance पर गौर करना चाहिए की अपनी परिभाषा का विस्तार करने को तैयार हैं - - लोगों का एक समूह (स्वयं शामिल) एक प्रबंधित ऑपरेटिंग सिस्टम कर्नेल लिखने के लिए आवश्यक रनटाइम टुकड़े बनाने की दिशा में काम कर रहा है।

वर्तमान में, काफ़ी करने के लिए छोड़ दिया है, लेकिन यह-संकलन JIT और सरल तरीके से चलाने के लिए संभव है -

4

आप (Win32 केवल हम वर्तमान में पी/आह्वान मूल कोड बफ़र्स बनाने के लिए उपयोग) IKVM.NET Project देखें। इसमें .NET में लिखी गई जावा वर्चुअल मशीन शामिल है।

http://www.ikvm.net/

मैं जानता हूँ कि यह एक वास्तविक CLR कि CLR के शीर्ष पर चलता नहीं है, लेकिन यह निकटतम बात मुझे लगता है कि के बारे में पता है तुम क्या चाहते है।

+0

है IKVM से अवगत हूं लेकिन हां यह देखने में मददगार हो सकता है। –

1

यह सिद्धांत रूप में संभव है प्रौद्योगिकियों के संयोजन के द्वारा:

  • Jikes RVM एक जावा वर्चुअल मशीन कार्यान्वयन जावा में लिखा है।
  • IKVM.NET, .NET पर जावा प्लेटफ़ॉर्म के कार्यान्वयन।

यह भी Mono लेने के लिए, LLVM बाईटकोड को संकलन, Emscripten का उपयोग कर जावास्क्रिप्ट को बाईटकोड संकलन, और विभिन्न दुभाषिए के किसी भी उपयोग नेट पर JavaScript चला संभव हो सकता है।

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