2008-09-29 16 views
26

क्या सी/सी ++ के लिए पुस्तकालयों को पढ़ने के लिए कोई अच्छी कॉन्फ़िगरेशन फ़ाइल है जो लिनक्स प्लेटफ़ॉर्म पर लिखे गए अनुप्रयोगों के लिए उपयोग की जा सकती है। मैं अपने आवेदन के लिए एक सरल विन्यास फाइल करना चाहता हूँ। सबसे अच्छा मैं एक्सएमएल फाइलों को साफ़ करना चाहता हूं जो संभावित रूप से उपयोगकर्ताओं को भ्रमित कर सकते हैं।लिनक्स कॉन्फ़िगरेशन फ़ाइल लाइब्रेरी

+2

मुझे लगता है कि एक्सएमएल से बचने का आपका निर्णय अच्छा है। आपातकालीन स्थिति को छोड़कर एक्सएमएल वास्तव में मानव पठनीय नहीं है। –

उत्तर

6

Boost program_options यह आपको config फाइल, वातावरण चर और कमांड लाइन से कार्यक्रम विकल्प को पढ़ने के लिए अनुमति देता है। यह पोर्टेबल और उपयोग करने में बहुत आसान है।

+0

लेकिन यह लाइब्रेरी प्रोग्राम विकल्पों को सहेज नहीं सका। – Jichao

1

यदि आप केवल एक सरल कॉन्फ़िगरेशन फ़ाइल चाहते हैं, तो कमांड और/या परिवर्तनीय सेटिंग्स की सूची के साथ, तो अपने स्वयं के पार्सर को लिखना बहुत आसान है, इतना आसान है कि यह संभवतः लाइब्रेरी का उपयोग करने योग्य नहीं है। यदि आपको कुछ और जटिल की आवश्यकता है तो पार्सर तेजी से अधिक जटिल हो जाता है और मौजूदा लाइब्रेरी का उपयोग करने लायक है।

मैंने कभी libconfig का उपयोग करने की कोशिश नहीं की है, लेकिन यह एक अच्छी पसंद की तरह दिखता है, और मुझे कॉन्फ़िगरेशन फ़ाइलों का प्रारूप पसंद है।

आपको यह तय करने की आवश्यकता है कि आप चाहते हैं कि आपका प्रोग्राम कॉन्फ़िगरेशन फाइलें लिखने में सक्षम हो। यदि यह एक जीयूआई प्रोग्राम है, तो आप शायद ऐसा करते हैं। यह प्रभावित करेगा कि पुस्तकालय क्या उपयुक्त हैं।

8

एक और विकल्प Boost.PropertyTree (doc) है। यह एक्सएमएल, आईएनआई, जेएसओएन और इन्फो फाइलों को पढ़ने/लिखने की अनुमति देता है। और आपको मुफ्त में पोर्टेबिलिटी मिलती है।

0

प्रश्न यह है कि आपके पास फ़ाइल प्रारूप में क्या दिमाग है? गुण "सरल" एक अंडरस्पेसिफिकेशन का थोड़ा सा है। यदि आप ऐसी लाइब्रेरी की तलाश में हैं जो "windows .ini formated" कॉन्फ़िगरेशन फ़ाइलों का उपयोग कर सकती है तो आप एसीई http://www.cs.wustl.edu/~schmidt/ACE/ देख सकते हैं।

1

एक ऐप के लिए, आप libconfuse पर विचार कर सकते हैं।

यदि आपको विभिन्न प्रकार के कॉन्फ़िगरेशन फ़ाइल स्वरूपों को प्रबंधित करने में सक्षम होना आवश्यक है (उदा। सिस्टम के लिए एक वेब पोर्टल के लिए, जिसे कई प्रारूपों में कई ऐप्स से कॉन्फ़िगरेशन फ़ाइलों को पढ़ने और लिखने की आवश्यकता है), Augeas है।

संबंधित मुद्दे