पर माइग्रेशन मैं ऐसे उत्पाद के लिए काम कर रहा हूं जो मुख्य रूप से इसके मूल घटकों के लिए सी ++ का उपयोग करता है। हालांकि यह विंडोज प्लेटफ़ॉर्म के लिए प्राथमिक कंपाइलर के रूप में विज़ुअल सी ++ का उपयोग करता है और यह प्राथमिक विकास वातावरण के रूप में संपादक और डीबगर है, यह किसी भी Microsoft विशिष्ट तकनीकों का उपयोग नहीं कर रहा है। अन्य प्लेटफार्मों के लिए यह संकलन के लिए जीसीसी का उपयोग करता है।सी ++ 11
मेरा कोड बेस नकली रैल्यू संदर्भ (बूस्ट मूव लाइब्रेरी का उपयोग करके), वैरैडिक टेम्पलेट्स (बूस्ट प्रोसेसर का उपयोग करके) और कुछ मामलों में अभिव्यक्ति टेम्पलेट्स का भारी उपयोग करता है।
मैं rvalue संदर्भ, सही अग्रेषण, डिफ़ॉल्ट और कन्स्ट्रक्टर, वैरैडिक टेम्पलेट्स, और ऑटो और decltype के लिए हटाकर क्लीनर कोड बेस प्राप्त करने के लिए C++ 11 पर स्विच करने के लिए प्रेरित हूं।
यदि मैं ऐसा करता हूं, तो मैं इसे सरल बनाने के लिए मौजूदा कोड पर कुछ पुन: कार्य कर सकता हूं (टेम्पलेट उपनाम का उपयोग करके और constexpr हो सकता है)। उस स्थिति में मुझे mingw का उपयोग करके विंडोज प्लेटफार्म के लिए जीसीसी पर स्विच करना होगा, क्योंकि विजुअल स्टूडियो में डिफॉल्ट और डिलीट, और वैरिएडिक टेम्पलेट के लिए कोई कार्यान्वयन नहीं है। इसके अलावा मुझे डीडीबीजर और एक अलग कोड संपादक के रूप में जीडीबी पर स्विच करना होगा।
मेरे लिए लाभ कोड सादगी और प्रदर्शन के मामले में भारी दिखता है, हालांकि स्थिरता, उपलब्धता (एंड्रॉइड जैसे कुछ प्लेटफॉर्म पर), डिबगिंग (दृश्य स्टूडियो से जीडीबी तक माइग्रेट करना, क्योंकि हमारे पास विजुअल स्टूडियो डीबगर के लिए कई विज़ुअलाइजेशन टूल विकसित किए गए हैं) और कोड एडिटर (भारी टेम्पलेट्स कोड के लिए इतना ज्यादा नहीं है कि मुझे ऑटो पूर्णता, रिफैक्टरिंग इत्यादि, और कोडेलाइट, कोडब्लॉक्स, क्यूटी निर्माता हमारे निर्माण प्रणाली के साथ अच्छी तरह से काम करता है) के कुछ उपयोग नहीं मिलते हैं।
मुझे यह जानना अच्छा लगता है कि मध्यम या बड़े पैमाने पर प्रोजेक्ट या तो वाणिज्यिक या ओपन सोर्स का कोई भी उपरोक्त सी ++ 11 सुविधाओं का उपयोग करने का इरादा रख रहा है? और इस तरह के प्रवासन करने के लिए कितने प्रयास की आवश्यकता है?
कोई व्यावहारिक अनुभव, सुझाव या ज्ञान के शब्द मुझे निर्णय लेने में मदद करेंगे।
सलाह और सूची प्रश्न आम तौर पर स्टैक ओवरफ़्लो में नहीं होते हैं। –
मैं सुझाव दूंगा कि आप थोड़ी देर प्रतीक्षा करें। उचित वीसी ++ समर्थन तक प्रतीक्षा करें। Mingw32 में हेडर फ़ाइलें समस्याग्रस्त है। –
को क्लैंग प्रोजेक्ट पर एक नज़र डालें, उनके पास [सी ++ 11 माइग्रेटर] [1] रिपोजिटरीज [1]: http://blog.llvm.org/2013/04/status-of-c11- migrator.html – Alex