2011-09-20 9 views
6

मैंने सुना है कि नया WinRT एक अप्रबंधित ढांचा है और यह COM पर आधारित है, लेकिन किसी भी तरह से उन्होंने WinRT और प्रबंधित कोड के बीच मैपिंग करने के लिए कुछ समझ लिया। मैं जानना चाहता हूं कि यह तंत्र कैसे काम करता है?WinRT और प्रबंधित कार्यों के बीच मैपिंग कैसे करता है?

+0

आप यहां इस प्रश्न का उत्तर देखना चाहेंगे: http://stackoverflow.com/questions/7416826/how-does-the-new-windows-8-runtime-compare-to-silverlight-and- उत्तर के लिए wpf –

उत्तर

9

विंडोज रनटाइम मेटाडेटा में सभी एपीआई का प्रतिनिधित्व करता है, जो विभिन्न भाषा अनुमान (सी ++, जावास्क्रिप्ट और सी #) पढ़ते हैं।

क्योंकि एपीआई आकार मेटाडेटा में वर्णित है, भाषा रनटाइम और कंपाइलर्स एपीआई के बारे में कारण बता सकते हैं और उन एपीआई के लिए कोड कैसे उत्पन्न कर सकते हैं।

सीएलआर के लिए, नौकरी एक छोटा सा आसान है, क्योंकि मेटाडाटा प्रारूप ईसीएमए 335 है, जो सीएलआई द्वारा उपयोग किए गए सीएलआई मेटाडाटा प्रारूप है - इस प्रकार सीएलआर के लिए अनुवाद थोड़ा आसान है।

लेकिन सामान्य रूप से, अनुवाद सरल है कि आपके पास मशीन पर मौजूद सभी एपीआई का एक मशीन पठनीय प्रतिनिधित्व है।

+0

धन्यवाद। क्या कोई संसाधन या लेख है जो बताता है कि यह मेटाडेटा कहां मिल सकता है? यह मेटाडेटा कैसे बना है और पढ़ा जा सकता है? – gyurisc

+0

मुझे यहां मेरे प्रश्न के लिए एक मिला - http://stackoverflow.com/questions/7416826/how-does-the-new-windows-8-runtime-compare-to-silverlight-and-wpf – gyurisc

+2

एक और बड़ा परिवर्तन है कि सभी WinRT घटकों के लिए मेटाडेटा उपलब्ध है, जैसे .NET असेंबली। COM में आप थोड़े क्रमबद्ध थे कि टाइपेलिब्स के साथ, लेकिन प्रत्येक COM घटक में उन्हें नहीं था। WinRT के लिए, मेटाडेटा .winmd फ़ाइलों में निहित है - डेवलपर पूर्वावलोकन में "सी: \ प्रोग्राम फ़ाइलें (x86) \ Windows किट \ 8.0 \ Windows मेटाडाटा \" के अंदर देखें। यदि आप चारों ओर पोक करते हैं, तो आप देखेंगे कि वे वास्तव में सीएलआई असेंबली हैं जिनमें कोई कोड नहीं है, बस मेटाडेटा टेबल हैं। आप वास्तव में आईएलडीएएसएम के साथ उन्हें खोल सकते हैं। नोट, इसका मतलब यह नहीं है कि WinRT स्वयं प्रबंधित है - यह फ़ाइल प्रारूप – gyurisc

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