2008-09-22 10 views
40

के बीच अंतर विषय शीर्षक वास्तव में मेरा प्रश्न है। और दूसरा सवाल यह है कि: मैं इन दोनों में से किस का उपयोग करता हूं?प्रबंधित सी ++ और सी ++

+0

सी ++ या केवल प्रबंधित सी ++ के लिए प्रबंधित एक्सटेंशन अब सी ++ से विचलन के माइक्रोसॉफ्ट सेट को हटा दिया गया है, जिसमें व्याकरणिक और वाक्य रचनात्मक एक्सटेंशन, कीवर्ड और विशेषताओं शामिल हैं, सी ++ वाक्यविन्यास और भाषा को .NET Framework में लाने के लिए। इन एक्सटेंशन ने सी ++ कोड को सामान्य कोड रनटाइम (सीएलआर) में प्रबंधित कोड के रूप में लक्षित करने के साथ-साथ देशी कोड के साथ इंटरऑपरेट करना जारी रखा। प्रबंधित सी ++ एक पूर्ण स्टैंडअलोन, या पूर्ण प्रोग्रामिंग भाषा नहीं थी। https://en.wikipedia.org/wiki/Managed_Extensions_for_C%2B%2B#.E2.80.A6to_C.23 –

उत्तर

43

निर्दिष्ट नहीं होने पर, सी ++ मशीन कोड से संकलित सी ++ अप्रबंधित सी ++ है। अप्रबंधित सी ++ में आपको मैन्युअल आवंटन मैन्युअल रूप से प्रबंधित करना होगा।

प्रबंधित सी ++ माइक्रोसॉफ्ट द्वारा आविष्कार की गई एक भाषा है, जो .NET Framework द्वारा चलाए गए बाइटकोड को संकलित करती है। यह ज्यादातर सी ++ (इसलिए नाम) के समान वाक्यविन्यास का उपयोग करता है लेकिन सी # या वीबी.नेट जैसे ही संकलित किया जाता है; मूल रूप से केवल वाक्यविन्यास परिवर्तन, उदा। नामस्थानों के लिए '::' का उपयोग करके किसी ऑब्जेक्ट के सदस्य ('#' के बजाय) को इंगित करने के लिए '->' का उपयोग करके

प्रबंधित सी ++ क्लासिक सी ++ से संक्रमण को आसान बनाने के लिए बनाया गया था। शुद्ध रूपरेखा। इसका उद्देश्य नई परियोजनाओं को शुरू करने के लिए नहीं किया जाना है (सी # को प्राथमिकता दी जाती है)।

+1

नई परियोजनाओं के लिए प्रबंधित सी ++ का उपयोग न करने की सलाह पर सावधानी बरतें। विजुअल स्टूडियो 2008 के बाद से प्रबंधित सी ++ में कुछ विशेषताएं हैं जो सी # से बेहतर हैं। ये IDisposable वस्तुओं के हैंडलिंग से संबंधित हैं। Http://msdn.microsoft.com/en-us/library/ms235315.aspx – morechilli

+15

प्रबंधित सी ++ और सी ++/सीएलआई दो अलग-अलग जानवर हैं। प्रबंधित सी ++ सी ++ के लिए एक भयंकर विस्तार है जिसे कभी दिन की रोशनी नहीं देखी जानी चाहिए। सी ++/सीएलआई आधिकारिक तौर पर एक अलग भाषा है, इसलिए नए कीवर्ड जोड़े जा सकते हैं, और साथ काम करने के लिए बहुत अच्छा है। – Eclipse

0

प्रबंधित सी ++ का मतलब है कि मेमोरी आवंटन, प्रबंधन, कचरा संग्रह वर्चुअल मशीन द्वारा संभाला जाता है। जबकि "नियमित" सी ++ में आपको स्मृति आवंटित और आवंटित करना होगा।

9

"प्रबंधित सी ++" एक ऐसी भाषा को संदर्भित करता है जो विजुअल स्टूडियो .NET/VisualStudio.NET 2003 में शामिल था। यह तब से deprecated है, नवीनतम सीनेट ++ सी ++/सीएलआई के साथ।

0

प्रबंधित कोड से देशी C++ क्लास लाइब्रेरी का उपयोग करना चाहते हैं, तो आप प्रबंधित C++ का उपयोग करेंगे। इस मामले में आप प्रबंधित सी ++ वाले में अप्रबंधित कक्षाएं लपेटते हैं, फिर आप उन्हें किसी भी सीएलआर भाषा में उपयोग करते हैं।

3

आप मूल C++ को दो अलग-अलग तरीकों से कोड कर सकते हैं। पहला आपके और प्लेटफ़ॉर्म (हार्डवेयर) के बीच केवल ऑपरेटिंग सिस्टम के साथ सीधे मशीन कोड को संकलित कर रहा है। दूसरा देशी कोडिंग एमएफसी (माइक्रोसॉफ्ट फाउंडेशन क्लासेस) के साथ किया जाता है। एमएफसी के उपयोग को छोड़कर यह पहला उदाहरण जैसा ही है।

प्रबंधित सी ++ सीएलआर (सामान्य भाषा रनटाइम) का उपयोग करता है .नेट फ्रेमवर्क क्लास पुस्तकालयों के साथ सीएलआर .NET Framework बनाता है। यह प्रबंधित सी ++/सीएलआई मानक एमएसआईएल (माइक्रोसॉफ्ट इंटरमीडिएट लैंग्वेज) के साथ नेट फ्रेमवर्क का उपयोग करता है। यह मानक केवल मशीन कोड पर मैप करके काम करता है जब प्रोग्राम केवल समय संकलक के उपयोग से निष्पादित होता है। यदि आपका कोड विभिन्न हार्डवेयर प्लेटफ़ॉर्म पर चल रहा है, तो प्रबंधित कोड का उपयोग बहुत आसान होगा। जैसा कि सभी चीजों के साथ सुविधा के लिए भुगतान करने के लिए थोड़ी सी कीमत है, क्योंकि मूल कोड तेजी से चल जाएगा।