कमांड लाइन विकल्प, सेटिंग्स और कॉन्फ़िगरेशन फ़ाइलों को संभालने के लिए आप किस पैकेज का उपयोग करते हैं?आप कमांड लाइन विकल्प और कॉन्फ़िगरेशन फ़ाइलों को कैसे प्रबंधित करते हैं?
मैं कुछ ऐसी चीज ढूंढ रहा हूं जो उपयोगकर्ता परिभाषित विकल्प कमांड लाइन और/या कॉन्फ़िगरेशन फ़ाइलों से पढ़ता है।
विकल्प (सेटिंग्स) अलग-अलग समूहों में विभाजित होना चाहिए, ताकि मैं अपने कोड में अलग-अलग ऑब्जेक्ट्स के अलग-अलग (सबसेट्स) विकल्प पास कर सकूं।
मैं boost::program_options
के बारे में पता है, लेकिन मैं काफी API
के लिए नहीं किया जा सकता। क्या हल्के वजन वाले विकल्प हैं?
(btw, क्या तुमने कभी का उपयोग एक वैश्विक विकल्प आपके कोड है कि कहीं से भी पढ़ा जा सकता है में आपत्ति? या आप है कि बुराई पर विचार करेंगे? देखें)
+1 :: program_options, लेकिन केवल बस! मैं सिंगलटन के रूप में प्रोग्राम विकल्पों का उपयोग करने से सावधान रहूंगा। हमें ऐसा करके काट दिया गया है कि अब हमें विभिन्न फाइलों के लिए विकल्पों के विभिन्न सेट जोड़ने की जरूरत है। हमें पहले वापस जाने और सिंगलटन को हटाने की आवश्यकता है ताकि हम प्रत्येक व्यक्तिगत फ़ाइलों के लिए विकल्पों के विभिन्न सेट स्टोर कर सकें। –
अच्छा बिंदु, रिचर्ड। मैं एक गेम के लिए boost :: program_options का उपयोग करता हूं, और स्पष्ट रूप से विकल्पों का 1 सेट प्रति प्रक्रिया पर्याप्त है, लेकिन विभिन्न उद्देश्यों के लिए यह एक बुरा विचार होगा। – rlbond
क्या आप अभी भी boost :: program_options के पक्ष में हैं? ऐसा लगता है कि अब विकसित नहीं हुआ है (दस्तावेज़ वेब साइट को अंतिम बार संशोधित किया गया था)। क्या यह सी ++ 11 के साथ उपयोग/अनुकूल है? अपनी पोस्ट की लाइनों के बीच पढ़ते समय, यह वास्तव में एक अच्छी सिफारिश नहीं है: * बस यूनिट परीक्षण के बोतलबंद करना सुनिश्चित करें, क्योंकि अगर आपको वाक्यविन्यास गलत लगता है तो आपको रनटाइम त्रुटियां मिलेंगी * एक बड़ा लाल झंडा है! – Walter