الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Garbage Collector لبرامج سي++

بدأه محمد رضى في 3 يوليو 2009 · 26 رد · 3,722 مشاهدة · في مشاريع ومسابقات القسم
مشاركة: واتساب X فيسبوك تيليجرام
#26

كما قال الأخ الشمري لا مفر من جعل هذا الـ GC فقط للكائنات من نوع كلاس و ليس الأنواع الأساسية لـ سي++...

بحثت كثيرا ولم أجد إية طريقة لفرز أنواع الكائنات الأساسية عن الأخرى المنشأة عن طريق كلاس. لذا, فهذه الإصدارة تقبل كل الكائنات و لكن يكون هناك بطء في سرعة التشغيل عند و جود Primitive types. و أظن أننا قليلا ما نرى جملة من نوع int *pi = new int;

تجدون في الملف المرفق كود GC و GCPointer.

تحرير :

بالصدفة و أنا أزيد هذا الرد رأيت إسمك أسفل الموضوع و انتظرت حتى وصل ردك لأتمكن من الإجابة. أولا شكرا أخي على تفاعلك مع الموضوع و أطلب منك أن تراجع هذا الكود الجديد الذي بعتته للتو. فقد عملت بنصيحة الأخ خالد و الإصدارة الجديدة لـ GCPointer ليس فيها إلا ما قل ودل كما أشرت إليه أنت و الأخ خالد.

أنتظر تعقيباتكم على الكود الجديد و شكرا لكم جميعا...

SimpleGC.rar

#27

حل المشكلة الحالية لـ GC يكمن في عدم التعامل مباشرة مع الذاكرة المحجوزة سواء كانت لكائن أم لنوع أساسي و ذلك باستعمال تقنية type erasure أو محو النوع التي تزيد درجة أخرى من indirection وستحل العديد من المشاكل التي يعاتي منها GC و من بينها طريقة التعامل مع الكائنات العادية و الأنواع الأساسية لسي++.

يتبع...

مواضيع مشابهة