मेरे पास देशी सी ++ में एक बड़ा एप्लीकेशन लिखा गया है। मेरे पास सी # में एक कक्षा भी है जिसे मुझे कॉल करने की आवश्यकता है।सी ++ इंटरऑप: मैं मूल सी ++ से सी # कक्षा कैसे कॉल करूं, मोड़ के साथ वर्ग गैर स्थैतिक है?
यदि सी # वर्ग स्थैतिक था, तो यह छोटा होगा (वेब पर बहुत सारे उदाहरण हैं) - बस मिश्रित सी ++/सीएलआई रैपर लिखें, इंटरफेस निर्यात करें, और आप कर चुके हैं।
हालांकि, सी # कक्षा गैर स्थैतिक है, और इसे स्थिर में बदला नहीं जा सकता क्योंकि इसमें एक इंटरफ़ेस है (यदि आप सी # कक्षा स्थिर बनाने का प्रयास करते हैं तो संकलक एक त्रुटि उत्पन्न करेगा)।
क्या कोई इस समस्या में पहले से चला है - मैं देशी सी ++ में गैर-स्थैतिक सी # कक्षा कैसे निर्यात करूं?
अद्यतन 2010-11-09
अंतिम समाधान: COM की कोशिश की, इस अच्छी तरह से काम किया लेकिन संरचनाओं का समर्थन नहीं किया। तो, एक सी ++/सीएलआई रैपर के साथ चला गया, क्योंकि मुझे पूरी तरह से सी ++ और सी # के बीच संरचनाओं को पारित करने में सक्षम होने की आवश्यकता थी। मैं कोड यहाँ पर आधारित एक मिश्रित मोड .dll आवरण लिखा है:
के रूप में लक्ष्य वर्ग गैर स्थिर था, मैं सिंगलटन का इस्तेमाल करना पड़ा यह सुनिश्चित करने के लिए पैटर्न कि मैं केवल लक्ष्य वर्ग की एक प्रति को तत्काल कर रहा था। यह सुनिश्चित करता है कि चश्मे को पूरा करने के लिए सब कुछ तेज़ था।
मुझसे संपर्क करें यदि आप मुझे डेमो प्रोजेक्ट पोस्ट करना चाहते हैं (हालांकि, उचित होने के लिए, मैं सी ++ से सी # कॉल कर रहा हूं, और इन दिनों अधिकांश लोग सी #+ से सी ++ को कॉल करना चाहते हैं)।
मुझे पता है कि मुझे कुछ हफ्तों में इसकी आवश्यकता होगी, इसलिए मुझे जवाब में बहुत दिलचस्पी है। – dwo
अरे, एक देखा हुआ मोड़ है। प्रश्न के अंत में, जब आप कम से कम इसकी उम्मीद करते हैं! –