2010-01-28 19 views
6

सी # के बजाय सी ++ का उपयोग करने के लिए जो मुख्य लाभ मैं देखता हूं वह देशी कोड में संकलित होता है, इसलिए हमें बेहतर प्रदर्शन मिलता है। सी # आसान है, लेकिन प्रबंधित कोड के लिए संकलित करता है।प्रबंधित सी ++ और सी # के बीच क्या अंतर है?

कोई भी प्रबंधित C++ का उपयोग क्यों करेगा? यह हमें क्या फायदे देता है?

+1

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

उत्तर

7

प्रबंधित सी ++ और सी ++/सीएलआई आपको आसानी से प्रबंधित कोड लिखने की अनुमति देता है जो देशी सी ++ के साथ इंटरैक्ट करता है।

यह विशेष रूप से तब उपयोगी होता है जब मौजूदा सिस्टम को माइग्रेट करने के लिए .Net और वैज्ञानिक संदर्भों में काम करते समय गणना के साथ सी ++ में चलाना चाहिए।

+6

.. और सी # आपको कोड के _rest_ को आसानी से लिखने की अनुमति देता है। –

2

प्रबंधित सी ++ देशी कोड, और प्रबंधित कोड के बीच अधिक आसानी से इंटरऑप करने की अनुमति देता है। उदाहरण के लिए, यदि आपके पास C++ (.cpp फ़ाइलें और .h फ़ाइलें) में कोई लाइब्रेरी है, तो आप उन्हें अपनी प्रोजेक्ट में लिंक कर सकते हैं और उपयुक्त सीएलआर ऑब्जेक्ट्स बना सकते हैं, और बस अपने सीएलआर ऑब्जेक्ट्स से देशी कोड को कॉल कर सकते हैं:

#include "yourcoollibrary.h" 

namespace DotNetLibraryNamespace 
{ 
    public ref class DotNetClass 
    { 
    public: 
     DotNetClass() 
     { 
     } 

     property System::String ^Foo 
     { 
      System::String ^get() 
      { 
       return gcnew System::String(c.data.c_str()); 
      } 
      void set(System::String ^str) 
      { 
       marshal_context ctx; 
       c.data = ctx.marshal_as<const char *>(str); 
      } 
     } 

    private: 
     NativeClassInMyCoolLibrary c; 
    }; 
} 
0

(सी ++/क्ली नया नाम है) आप देशी कोड को कचरा नियंत्रित सी # के साथ बेकार ढंग से काम करने के लिए लपेट सकते हैं और यहां तक ​​कि कॉलबैक को भी संसाधित कर सकते हैं। उलटा आप प्रबंधित प्रकार बना सकते हैं और सी ++ से उनके साथ बातचीत कर सकते हैं।

डेवलपर्स को तेजी से निर्माण समय को पायलट करने के लिए सी # आसानी से माइग्रेट करने की अनुमति देता है, उदाहरण के लिए, उदा। जैसा कि उल्लेख किया गया है, मूल पुस्तकालयों से जुड़ा xna!

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