मैं एक छोटा ऐप लिख रहा हूं जिसके लिए कुछ सूची बॉक्स, बटन, टेक्स्टबॉक्स की आवश्यकता है। यह बूस्ट, MySQL, आदि सी ++ स्थिर libs के साथ जोड़ा जाएगा। परियोजना के लिए Win32 कार्यों की आवश्यकता है। मुझे लगता है कि विनफॉर्म ठीक होंगे (एमएफसी और कोडजॉक को बहुत अधिक समय की आवश्यकता है)।.NET GUI - C# बनाम सी ++/सीएलआई
तो सी ++/सीएलआई नौकरी के लिए बिल्कुल सही लगता है। जीयूआई के साथ बस मानक सी ++ का प्रयोग करें। फिर मैं सूत्रों को चलाता हूं कि आप अपने जीयूआई को इसके बजाय सी # में लिखते हैं। फिर अपने मानक सी ++ डीएलएल के लिए पी/Invoke (धीमी) या एक सी ++/सीएलआई इंटरफ़ेस का उपयोग करें।
उदाहरण: http://social.msdn.microsoft.com/Forums/en-US/clr/thread/6ae877ac-07b4-4d26-8582-de475ee9a5cb
क्यों? सी ++/सीएलआई के बजाय आपके Winforms GUI के लिए सी # का उपयोग करने में क्या लाभ है (वे वही दिखते हैं, आदेश समान हैं)। मानक सी ++ निष्पादन योग्य के बजाय सी ++/सीएलआई निष्पादन योग्य का उपयोग करने में क्या नुकसान है। मैं समझ सकता हूं कि क्रॉस-प्लेटफ़ॉर्म संगतता कोई समस्या थी, लेकिन फिर आप प्रबंधित सुविधाओं (जीयूआई के अलावा) का उपयोग नहीं कर सकते थे।
मुझे समझ में नहीं आता कि आप सी # का उपयोग क्यों करेंगे, और फिर इसे "इंजन डीएलएल" से अलग करने के लिए अभी तक जाएं। बेशक, अन्य इंजनों के लिए "इंजन डीएलएल" का भी उपयोग नहीं किया जा रहा था।
धन्यवाद
पी/Invoke धीमा नहीं है अगर यह सही ढंग से उपयोग किया जाता है। हमारा ऐप पी # के साथ बुलाए गए सी #+ के 200k + और 200k + के बारे में है और यह एनीमेशन/आदि के साथ इंटरैक्टिव फ़्रेमेट प्रबंधित करता है। आपको बस यह सुनिश्चित करने की ज़रूरत है कि सी # और डीएलएल के बीच आपके इंटरफेस स्वच्छ और न्यूनतम हैं। –
@RonWarholic मैं पी/Invoke से इतना परिचित नहीं हूँ, लेकिन कोड की 200k लाइनों की फ़ंक्शन घोषणाओं को पूरी तरह से लिखना मुश्किल नहीं है? – MasterMastic
यदि आप अपना खुलासा एपीआई साफ और तंग रखते हैं तो बहुत अधिक पुनर्लेखन नहीं होता है। पुस्तकालय में हजारों कार्य हैं लेकिन केवल 80 या तो सी # पक्ष के संपर्क में हैं। –