2010-04-02 6 views
9
  1. क्या आपने एक एसटीएल कार्यान्वयन का उपयोग किया है?
  2. क्या यह उन बगों को मिला जिन्हें आप उम्मीद नहीं कर रहे थे?
  3. क्या कोई है जो मैं लिनक्स पर मुफ्त में कोशिश कर सकता हूं?

उत्तर

12

जीसीसी के साथ आने वाली मानक सी ++ लाइब्रेरी का जीएनयू कार्यान्वयन एसटीएल की जांच कर चुका है। बस अपनी कमांड लाइन में -D_GLIBCXX_DEBUG जोड़ें।

हाँ, मैंने इसका उपयोग किया है। मैं निश्चित रूप से यह नहीं कह सकता कि यह पकड़े गए बग हैं लेकिन यह मुझे अधिक विश्वास दिलाता है कि कुछ वर्गों की बग याद नहीं की जा रही हैं।

प्रदर्शन ओवरहेड के कारण, हम केवल डीबग बिल्ड के लिए चेक किए गए एसटीएल का उपयोग करते हैं।

1
  1. माइक्रोसॉफ्ट के वीसी ++ जांच की व्यवस्था।
  2. यह आसानी से उन जगहों को पकड़ता है जहां इटरेटर एसटीएल कंटेनर के बाहर की सीमाओं को संदर्भित करते हैं, जिनके साथ यह संबंधित है।
  3. मुझे यकीन नहीं है, लेकिन मुझे लगता है कि आपको बूस्ट सी ++ लाइब्रेरी का प्रयास करना चाहिए। इसमें कई प्रकार की विशेषताएं हैं जिनमें अवधारणा जांच आदि शामिल हैं। हेक, यह सी ++ 0 एक्स मानक के लिए आधार बन गया है!
+0

पीएस: चेक किए गए एसटीएल कार्यान्वयन का उपयोग प्रदर्शन पर काफी हिट होगा, और सी ++ के लिए क्या जाना जाता है: इसका प्रदर्शन! – themoondothshine

+0

यह तब भी पकड़ता है जब आप प्रारंभ/अंत इटरेटर्स का उपयोग करते हैं जो एक ही कंटेनर में इंगित नहीं करते हैं। – sbi

+2

@themoondotshine: आप केवल DEBUG मोड में चेक किए गए संस्करण का उपयोग करते हैं, है ना? – Nate

2

मैंने इसे कभी भी उपयोग नहीं किया है, लेकिन एक त्वरित खोज से पता चलता है कि एसटीएलपोर्ट में checked iterators DEBUG मोड में है।

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