हम अब 2020 में हैं और C ++ 20 लंबे समय से प्रतीक्षित C ++ मॉड्यूल फीचर के साथ आ रहा है। लेकिन CppCon पर कुछ बातचीत देखने के बाद मुझे पता चलता है कि C ++ मॉड्यूल एक अजीब जगह पर हैं, विशेष रूप से लिनक्स पैकेज प्रबंधकों (pacman, apt, उभरते, आदि ...) के लिए
मैंने जो सीखा है, उससे C ++ मॉड्यूल हैं
- संकलक निर्भर
- आप Clang में GCC द्वारा निर्मित मॉड्यूल का उपयोग नहीं कर सकते
- GCC 9.1 मॉड्यूल GCC 9.2 पर काम नहीं करेगा
- आपके पास एक ही मॉड्यूल के कई अलग-अलग संस्करण हो सकते हैं
- जब तक उन्हें एक ही दायरे में निर्यात नहीं किया जाता है
- यदि इसकी निर्भरता अद्यतन हो, तो आपको एक मॉड्यूल का पुनर्निर्माण करना होगा
मेरी समस्या यह है कि सभी रोलिंग-रिलीज़ डिस्ट्रोस कंपाइलरों में हर समय अपडेट होता रहता है और उपयोगकर्ता का अपना कंपाइलर बिल्ड हो सकता है। वर्तमान में कोई केवल कंपाइलर को अपडेट कर सकता है या अपडेट भी कर सकता है libstdc++
। लेकिन मॉड्यूल के साथ, ऐसा लगता है कि libstdc++
कंपाइलर अपडेट होने पर इसे अपडेट करना होगा।
पैकेज मैनेजर अपडेट को कैसे हैंडल करेगा, उदाहरण के लिए, कंपाइलर अपडेट होने पर एसटीएल? मुझे नहीं लगता कि संकलक के हर संस्करण के लिए एसटीएल मॉड्यूल के हर संस्करण का निर्माण संभव है। न ही उपयोगकर्ता अपने एसटीएल मॉड्यूल को एक अच्छा विचार बनाने के लिए है।