इस सप्ताह की शुरुआत में, केनी केर presented C++/WinRT at CppCon 2016 । यह Modern पर आधारित विंडोज रनटाइम के लिए एक मानक सी ++ प्रक्षेपण है।क्या एक ही प्रोजेक्ट में सी ++/सीएक्स और सी ++/विनआरटी का उपयोग किया जा सकता है?
जहां तक मैं समझता हूँ, C++/CX संकलक/पूर्वप्रक्रमक/कोड जनरेटर स्पर्श नहीं करता स्टैंडर्ड सी ++ कोड, और सी ++/WinRT एक मानक सी ++ पुस्तकालय यह मेरी भोली व्याख्या है होने के साथ, कि दोनों सी ++/सीएक्स और सी ++/उसी परियोजना में WinRT का उपयोग किया जा सकता है।
सवाल:
- सबसे पहली बात: मेरी भोली व्याख्या सही है?
- यदि हां, तो क्या एक ही संकलन इकाई में सी ++/सीएक्स और सी ++/विनआरटी का उपयोग किया जा सकता है?
- सी ++/सीएक्स और सी ++/विनआरटी मिश्रित होने पर क्या ग्रैन्युलरिटी हो सकती है, अगर वे एक ही संकलन इकाई में नहीं रह सकते हैं?
- क्या सी ++/विनआरटी उसी परियोजना में सी ++/सीएक्स के साथ लागू प्रकारों का उपभोग कर सकता है? (मैं, इस मुश्किल होने की उम्मीद के बाद से सी ++/WinRT संकलक .winmd मेटाडाटा से हेडर उत्पन्न करने के लिए की जरूरत है, तो वहाँ (पूर्व) संकलक उत्पादन पर निर्भरता है।)
मामले यह मायने रखता है में, उन प्रश्नों के उत्तर मुझे भविष्य में मेरी सी ++/सीएक्स परियोजनाओं को कैसे स्थानांतरित करने के बारे में निर्णय लेने की अनुमति देते हैं।
Embracing Standard C++ for the Windows Runtime (on YouTube)।
एचएमए, हमें देखना होगा कि वह पिछले वर्ष क्या कर रहा है, उसने अपने जीथब डिपॉजिटरी को अद्यतन नहीं रखा है। यदि आपके पास पहले कभी डब्लूआरएल में डुबकी लगाने का कोई अच्छा कारण नहीं था, तो यह संभावना नहीं है कि सी ++/विनआरटी किसी भी प्रोपेलर्स को स्पिन करने जा रहा है। वास्तव में यह वास्तव में क्या है, कम से कम आधुनिक सीपीपी स्वाद, WRL जैसे एक और रैपर लेकिन सी ++ 1xyz के लिए अपडेट किया गया। केर और मैकनेलिस का कोड मेरे सिर को चोट पहुंचाता है, आप यह देख सकते हैं कि यह क्या करता है लेकिन आसानी से नहीं देखता कि यह क्या नहीं करता है। –
@ हंसपैसेंट: सी ++/विनआरटी (सी ++/सीएक्स से अधिक) का मुख्य कारण प्रदर्शन होगा। संकलन के समय बहुत अच्छे नहीं हैं, और आमतौर पर त्रुटि संदेश अच्छी पहेलियों हैं। फिर भी, मुझे स्पष्ट WRL आमंत्रणों से अधिक संक्षिप्त (या अधिकतर terse, अगर आप चाहें) वाक्यविन्यास पसंद करते हैं (मैं अपना दिमाग बदल सकता हूं, पहली बार मुझे वास्तविक समस्या को डीबग करना होगा)। मैं सहमत हूं, यह देखना मुश्किल है, कौन सा कोड करता है (या नहीं करता)। लेकिन यह सी #/नेट के लिए उतना ही सही है, और यह कभी भी वहां कई लोगों के लिए पसंदीदा लक्ष्य बनाने के रास्ते में नहीं था। वैसे भी, व्यक्तिगत वरीयता व्यक्तिगत है, मुझे लगता है;) – IInspectable
मैं एक सी ++ विशेषज्ञ नहीं हूं, लेकिन ... क्यों नहीं? सी ++/सीएक्स परियोजनाओं में नियमित सी ++ कोड हो सकता है और सी ++/विनरेट नियमित सी ++ है, है ना? –