2011-02-23 19 views
14

मैं वर्तमान में एक अप्रकाशित मास्टर थीसिस रिपोर्ट पढ़ रहा हूं, कि मैं प्रतिक्रिया देने जा रहा हूं।क्या सी ++ में कचरा कलेक्टर है?

रिपोर्ट में वे देशी सी ++ के तहत जीसी का उल्लेख करते हैं और सी ++ प्रबंधित करते हैं। मैंने सोचा कि सी ++ में कोई मानक जीसी नहीं है, क्या मैं गलत हूं या सही हूं? (वे Boehm-Demers-Weiser का उल्लेख नहीं करते हैं।)

उन्हें कुछ स्थितियों के तहत काम करने में कुछ समस्या है। वे वस्तुओं को एक थ्रेड में बनाते हैं, और पॉइंटर को दूसरे थ्रेड से हटाते हैं।

+0

क्या [TR1] (http://en.wikipedia.org/wiki/C%2B%2B_Technical_Report_1) गिनती है? – sarnold

+1

@ kotlinski कृपया उन बाशिंग तकनीकों को परेशान न करें जिन्हें आप नहीं जानते हैं। मैंने कभी प्रबंधित सी ++ का उपयोग नहीं किया है, लेकिन इसके उत्तराधिकारी - सी ++/सीएलआई .NET पारिस्थितिक तंत्र का महत्वपूर्ण हिस्सा है। –

+0

मुझे खेद है, यह नहीं पता था कि यह एक पारिस्थितिक तंत्र का हिस्सा था। –

उत्तर

17

प्रबंधित सी ++ (और इसके उत्तराधिकारी सी ++/सीएलआई) निश्चित रूप से प्रबंधित संसाधनों के लिए .NET कचरा संग्रह का उपयोग करते हैं (हालांकि देशी संसाधन कचरे को एकत्र नहीं करते हैं और उन्हें देशी सी ++ में मैन्युअल रूप से प्रबंधित किया जाना चाहिए)।

डिफ़ॉल्ट रूप से मूल सी ++ में ऐसी कोई चीज़ नहीं है (इसके लिए सबसे नज़दीकी चीज स्मार्ट पॉइंटर्स हैं, लेकिन यह अभी भी पूरी तरह से अलग है), लेकिन यह आपको अपने कचरा संग्रहण समाधान (या third party solution का उपयोग करने से नहीं रोकता) ।

+3

सी ++ 0x स्पष्ट रूप से एक कचरा कलेक्टर शामिल करने के लिए कार्यान्वयन की अनुमति देता है। –

9

1998/2004 के मौजूदा सी ++ मानक कचरा कलेक्टर निर्दिष्ट नहीं करता है। आगामी मानक सी ++ 0x एक वैकल्पिक कचरा कलेक्टर एपीआई निर्दिष्ट करता है, हालांकि कार्यान्वयन एक अन्य हिस्सा है। उन सभी के साथ, कंपाइलर विक्रेताओं और तृतीय पक्ष से सी ++ के लिए कचरा कलेक्टर उपलब्ध हैं।

  • जीसीसी सूट कचरा संग्रह के लिए बोहेम-जीसी प्रदान करता है।
  • प्रबंधित सी ++ माइक्रोसॉफ्ट का सी ++ के साथ विस्तारित था। नेट 1.0 जो कचरा संग्रहण क्षमताओं के साथ सी ++ बढ़ाया।
  • माइक्रोसॉफ्ट से सी ++/सीआईएल भी .Net 2 के साथ जारी किया गया है जो प्रबंधित सी ++ को और अधिक .NET केंद्रित सुविधाओं से हटा देता है।
  • सूर्य ने सी/सी ++ के लिए कचरा कलेक्टर के रूप में libgc प्रदान किया।
+0

वास्तव में बहुत दिलचस्प है –

0

सी और सी ++ के लिए एकमात्र जीसी लाइब्रेरी Hans-Boehm library है, लेकिन जहां तक ​​मुझे पता है कि इसे सेट करना मुश्किल है।

0

मेरे पास सी ++ के तहत जीसी पर एक अलग लेना है।

MCP (ओपन सोर्स लाइसेंस जीपीएलवी 3) पर एक नज़र डालें - सी ++ के साथ जीसी जीजेसी/मोनो से भी बदतर नहीं होना चाहिए।

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