मैं एक देशी सी ++ बनाना चाहता हूं जो कि सी # प्रोजेक्ट से उपयोग किया जा सकता है।सी # देशी सी ++ कॉलिंग सभी कार्यों: किस प्रकार का उपयोग करना है?
- यदि मैं सी ++ में फ़ंक्शन में सी # से स्ट्रिंग पास करना चाहता हूं, तो मुझे किस पैरामीटर का उपयोग करना चाहिए?
- मुझे पता है कि सी # तार यूनिकोड का उपयोग करते हैं, इसलिए मैंने फ़ंक्शन के लिए wchar_t * की कोशिश की लेकिन यह काम नहीं किया; मैंने बुलाए गए कार्यों से उठाए गए अपवादों को पकड़ने की कोशिश की, लेकिन कोई अपवाद नहीं फेंक दिया गया।
- मैं भी एक स्ट्रिंग वापस करना चाहता हूं ताकि मैं इसका परीक्षण कर सकूं।
सी ++ समारोह है निम्नलिखित:
DECLDIR wchar_t * setText(wchar_t * allText) {
return allText;
}
सी # कोड निम्नलिखित है:
[DllImport("firstDLL.Dll", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Auto)]
public static extern string setText(string allText);
var allText= new string('c',4);
try {
var str1 = setText(allText);
}
catch (Exception ex) {
var str2 = ex.Message;
}
मुझे किस प्रकार के सी ++ फ़ंक्शन द्वारा दिया गया प्रकार के लिए उपयोग करना चाहिए, ताकि मैं string[]
के रिटर्न प्रकार के साथ इसे सी # से कॉल करें? एक ही क्यू लेकिन फंक्शन के पैरामीटर के लिए स्ट्रिंग [] में सी #?
वैसे, इस तरह के var का उपयोग जल्द ही आपको काटने के लिए वापस आ जाएगा जब आपको लगता है कि आपको पता नहीं है कि आपके किसी भी प्रकार का चर क्या है। –
जैसे ही आप इन 3 var (ओं) संकलित हो जाते हैं। – ukhardy
@ukhardy ओह चलो, मुझे पता है कि! मुद्दा यह है कि जब आपके पास अपने कोड पर भिन्न बिखरा हुआ है, और यह इससे अधिक जटिल है, तो आप पाते हैं कि यह मौजूदा कोड को समझने में बाधा बन गया है। –