क्या सी #+ .lib फ़ाइल का उपयोग सी # प्रोग्राम के भीतर करना संभव है?क्या सी #+ .lib फ़ाइल को सी # प्रोग्राम के भीतर से उपयोग करना संभव है?
उत्तर
नहीं। आप केवल सी # प्रोग्राम से पूर्ण .dll का उपयोग कर सकते हैं।
सीधे नहीं। आप एक सी ++/सीएलआई असेंबली बना सकते हैं जो lib का उपभोग करता है और उसके बाद उसे सी # से एक्सेस करता है, या आप lib को DLL के रूप में लपेट सकते हैं।
बहुत सारे तरीके हैं। एमएसडीएन में "इंटरऑप" के बारे में पढ़ें ..
एक तरीका डीएलएल के रूप में lib को बेनकाब करना है, और फिर इन कार्यों को सी # प्रोजेक्ट से कॉल करने के लिए पिनवोक का उपयोग करना है। यह आपको सी-स्टाइल इंटरफ़ेस तक सीमित करता है, हालांकि।
यदि आपका इंटरफ़ेस अधिक जटिल है (उदा। ऑब्जेक्ट उन्मुख) तो आप एक सी ++/सीएलआई परत बना सकते हैं जो lib की कक्षा संरचना को आपके सी # प्रोग्राम में उजागर करेगी। इसका मतलब है कि आपको एक प्रबंधित सी ++ (या सी ++/सीएलआई जैसा कि इसे अब कहा जाता है) प्रोजेक्ट बनाना होगा; फिर प्रबंधित कोड में एक इंटरफ़ेस डिज़ाइन करें जिसे मूल C++ (यानी आपकी lib) पर कॉल द्वारा कार्यान्वित किया जाएगा।
ऐसा करने का एक और तरीका एक COM इंटरफ़ेस के साथ अपनी lib को लपेटकर है। लेकिन COM का दर्द है, इसलिए मैं नहीं ...
पहले से ही इसे लपेटने का उत्तर दिया गया है लेकिन यहां एक example है। सौभाग्य!
आपको जिस सीटी/सी ++ लाइब्रेरी के साथ काम कर रहे हैं, उसके आसपास एक प्रबंधित रैपर (सी ++/सीएलआई) की आवश्यकता है।
आप किसी भी C++/CLI पुस्तक मैं सलाह देते हैं के लिए देख रहे हैं निशांत शिवकुमार के C++/CLI in Action
निर्भर करता है, तो आप इस परिदृश्य पर कोई सीमाएं क्या ज़रूरत है?
आप एक lib फ़ाइल है, तो यह पहली बार एक DLL फ़ाइल में संकलित करने के लिए, दूसरी बात कार्यों आप DLL इंटरफ़ेस में कॉल करने के लिए, और तीसरे, सी # देशी तरीकों का उपयोग कर उन्हें फोन चाहते उजागर संभव हो जाना चाहिए (एक नजर है पिनवोक.net पर इस बिट को कैसे करें)।
मैं swig पर एक नज़र डालेगा, हम अपने सी ++ एपीआई को अन्य भाषा प्लेटफ़ॉर्म पर बेनकाब करने के लिए हमारी परियोजना पर अच्छे प्रभाव के लिए इसका उपयोग करते हैं।
यह एक अच्छी तरह से बनाए रखा प्रोजेक्ट है जो प्रभावी रूप से आपके सी ++ लाइब्रेरी के चारों ओर एक पतली रैपर बनाता है जो सी # जैसे भाषाओं को सीधे आपके मूल कोड से संवाद करने की अनुमति दे सकता है - आपको गोंद कोड को लागू करने (और डीबग) करने की परेशानी को बचाता है।
आप एक lib का उपयोग नहीं कर सकते हैं, लेकिन दूसरों की तरह कहा, यदि आप इसे एक डीएल में लपेटते हैं तो आप इसका उपयोग कर सकते हैं।
बड़ा घूँट अपने उदारीकरण के शीर्ष लेख ले जा सकते हैं, और यह dll आप जिसके लिए आप तो सी # से एक PInvoke जो भी बड़ा घूँट द्वारा उत्पन्न की जाएगी साथ कहेंगे उत्पन्न कर सकते हैं अगर वे बहुत जटिल नहीं हैं।
यदि आपकी लाइब्रेरी जटिल है और संदर्भ में हर जगह स्मार्ट पॉइंटर्स गिना जाता है, तो आपको एक विकल्प मिलना चाहिए।
- 1. क्या एक सी सी प्रोग्राम के भीतर कई टर्मिनल विंडोज़ पर आउटपुट करना संभव है?
- 2. सी #+ कोड को सी # से कॉल करना संभव है?
- 3. क्या सी प्रोग्राम में सीएलआर होस्ट करना संभव है?
- 4. क्या विंडोज़ में ऑब्जेक्टिव-सी प्रोग्राम निष्पादित करना संभव है?
- 5. सी प्रोग्राम के भीतर से प्रोग्राम निष्पादित करें
- 6. लिनक्स के तहत एक साधारण कॉन्फ़िगरेशन फ़ाइल को पार्स करने के लिए मुझे क्या सी lib उपयोग करना है?
- 7. क्या सी के साथ ईजिन का उपयोग करना संभव है?
- 8. उपयोग DLL सी में lib
- 9. वेबकिटडॉटनेट का उपयोग कर सी # में वेबकिट ब्राउज़र के माध्यम से फ़ाइल डाउनलोड करना संभव है?
- 10. सी # - क्या पूल बॉक्स करना संभव है?
- 11. क्या सी # प्रोजेक्ट में सी कोड एम्बेड करना संभव है?
- 12. क्या सी ++ स्मार्ट पॉइंटर्स का उपयोग सी के मॉलोक के साथ करना संभव है?
- 13. सी ++ 11 std lib
- 14. पायथन से सी प्रोग्राम
- 15. क्या जावास्क्रिप्ट के ऑनसममिट ईवेंट को प्रोग्राम पर प्रोग्राम रूप से कॉल करना संभव है?
- 16. क्या सी # कोड ब्लॉक को क्रमबद्ध करना संभव है?
- 17. सी ++ क्यों नहीं। Lib फ़ाइल बनाई गई?
- 18. क्या सी # नामस्थान उपनाम को उलटा करना संभव है?
- 19. क्या सी सी लाइब्रेरी में हास्केल को अपर्याप्त रूप से एम्बेड करना संभव है?
- 20. सी/सी ++ प्रोग्राम
- 21. क्या सी में ऑपरेटरों को अधिभारित करना संभव है?
- 22. क्या सी # में स्कोप्ड लॉक को कार्यान्वित करना संभव है?
- 23. क्या फ़ाइल नाम में "/" उपयोग करना संभव है?
- 24. क्या सी प्रोग्राम प्रोग्राम C++ अपवादों को संभाल सकता है?
- 25. क्या सी # में प्रतिबिंब के माध्यम से फ़ाइल जानकारी पुनर्प्राप्त करना संभव है?
- 26. क्या सी # में इवेंट हैंडलर को "चेन" करना संभव है?
- 27. सी प्रोग्राम
- 28. सी/सी ++ प्रोग्राम से पिंगिंग
- 29. सी ++ स्वीकार्य के भीतर असेंबलर एम्बेड करना?
- 30. सी # एप्लिकेशन में * .lib फ़ाइल का उपयोग कैसे करें?