7

क्या मेट्रो विंडोज 8 एप्लिकेशन में इनलाइन असेंबलर हो सकता है? मेट्रो सी ++ मूल, या प्रबंधित भी है, या आप उन्हें सी ++/सीएलआई दोनों जैसे मिश्रण कर सकते हैं?क्या मेट्रो विंडोज 8 सी ++ एप्लिकेशन में इनलाइन असेंबलर हो सकता है?

+0

मैं नहीं दिख रहा है कि यह कैसे करता है, तो आप कर सकते थे उपयोगी होगा। क्या आप दोनों x64 और एआरएम एएसएम लिखने जा रहे हैं? – ildjarn

+0

@ildjarn: लगता है कि, उसके कोड की पोर्टेबिलिटी स्पष्ट रूप से वह नहीं है जो वह ढूंढ रही है। – LihO

+1

@ildjarn, इस चरण में सिर्फ उत्सुक है, लेकिन हाँ अगर मैं चाहता हूं कि मुझे करना होगा, तो बाइनरी को विभिन्न लक्ष्यों को संकलित करने की तरह, X64 और ARM के लिए सशर्त कोड लिखें। जो अतीत में एक बड़ा सौदा नहीं है, मैंने एमएमएक्स, एमएमडी 3 डीएनओ, एसएसई, एसएसई 2, एसएसई 3 आदि के लिए सशर्त असेंबलर को x86 प्लेटफार्म पर लिखा था। – klumsy

उत्तर

9

मेट्रो स्टाइल ऐप्स WinRT का उपयोग करते हैं, जो पुराने WinAPI के COM- आधारित प्रतिस्थापन है। आप अपने WinRT घटकों को बनाने में सक्षम हैं जिनका उपयोग .NET या यहां तक ​​कि जावास्क्रिप्ट से भी किया जा सकता है - और इससे आपको कोई अतिरिक्त प्रयास नहीं होता है। मौजूदा सी ++ कोड के लिए, ध्यान दें कि विन 32 में Win32 का केवल एक सबसेट प्रदान किया गया है।

enter image description here

यह C/C++, C# या जे एस में आप चाहे कोड कोई फर्क नहीं पड़ता, जब आप WinRT उपयोग करते हैं, तो आप सीधे WinRT फोन नहीं है, लेकिन यह एक प्रक्षेपण बुलाया बंधन के माध्यम से चला जाता है, जो आपके WinRT घटकों का उचित रूप से अन्य भाषा के संपर्क में आने का ख्याल रखता है।

enter image description here

"एक मेट्रो Windows 8 अनुप्रयोग इनलाइन असेंबलर हो सकते हैं?"
आप अपने सी और सी ++ कोड में असेंबली-भाषा निर्देशों को सीधे एम्बेड करने के लिए सक्षम कर सकते हैं क्योंकि आपका कंपाइलर आपको ऐसा करने की अनुमति देता है। इनलाइन असेंबलर को इनलाइन फ़ंक्शंस के रूप में लिखे गए असेंबली निर्देशों के सेट के रूप में देखें, जो संकलक में निर्मित हैं। तथ्य यह है कि आप WinRT का उपयोग कर रहे हैं यहां अप्रासंगिक है।

सवाल यह है कि आप मदद कर सकता है:
Why is WinRT unmanaged?
C++, C# and JavaScript on WinRT
What are WinRT language projections?

+0

धन्यवाद। मुझे पता है कि आप जिन एपीआई से सी ++ से एक्सेस कर सकते हैं, वे सीमित हैं, मैं बस सोच रहा हूं कि क्या आप इनलाइन असेंबलर कर सकते हैं .. एक साधारण एएसएम एल्गोरिदम की तरह, वह स्वयं निहित है और किसी भी एपीआईएस को कॉल नहीं करता है? – klumsy

+0

@klumsy: आप अपने सी और सी ++ कोड में इनलाइन असेंबलर लिखने में सक्षम हैं जब तक कि आपका ** कंपाइलर ** आपको ऐसा करने की अनुमति देता है। अब मेरा जवाब देखें। – LihO

+0

मुझे नहीं पता कि यह वाकई पास करेगा या नहीं। –

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