Logo

ماركو كانتو:
أساسي باسكال

الملحق أ
قاموس المصطلحات

هذا قاموسا صغيرا للمصطلحات التقنية الواردة بالكتاب. قد يكون قد سبق ذكرها في مكان ما من النص، لكنّي على أي حال قد قرّرت جمعها هنا، ليسهل ايجادها.

الركام (الذاكرة)

مصطلح heap ركام يشير إلى حيّز من الذاكرة متوفّر للبرنامج، و يسمى أيضا منطقة الذاكرة الحيوية. الركام heap هو المنطقة التي فيها يتم تخصيص ذاكرة أو نزعها بترتيب عشوائي. هذا يعني إنك إذا خصّصت ثلاثة مساحات من الذاكرة بالتتابع، يمكن اتلافها لاحقا حسب أي ترتيب. يهتم مدير الركام heap manager بكل التفاصيل لصالحك، لذا يمكنك ببساطة أن تطلب ذاكرة جديدة بواسطة GetMem أو بإستدعاء لمشيّد constractor لخلق كائن، و تقوم دلفي بجلب كتلة الذاكرة الجديدة لك (اختياريا تعيد استعمال مساحات ذاكرة تم التخلّص منها).

الركام هو واحد من ثلاث مناطق في الذاكرة متوفرة للتطبيق application. المنطقة الثانية هي الذاكرة الجامعة global area (حيث تعيش المتغيرات الجامعة) و الثالثة هي stack الصفّ.

يستعمل دلفي الركام لتخصيص الذاكرة اللازمة لكل كائن، لنص الجمل، للمصفوفات الحيوية، و للطلبات الخاصة من الذاكرة الحيوية (GetMem).

و تسمح ويندوز للتطبيق بأن يكون لديه ذاكرة تصل إلى 2 قيقابايت، معظمها تستعمل من قبل الركام.

الصفّ (الذاكرة)

المصطلح Stack صفّ بشير إلى حيّز من الذاكرة يكون متوفرا للبرنامج، و هو حيوي dynamic لكن يخصص و يعاد وفق ترتيب معين. تخصيصات الصفّ تتم بطريقة LIFO الداخل آخرا يخرج أولا. هذا يعني أن آخر ذاكرة تقوم بتخصيصها ستكون أول ما يلغى. ذاكرة الصفّ تستخدم تقليديا من قبل الإجرائيات (استدعاءات الوظائف و الإجراءات و المسارات). عندما تنادي على إجرائية، يتم وضع محدّداتها و نوع ارجاعها في الصفّ (إلا إذا قمت بتحسين كفاءة optimize النداء، كما يفعل دلفي افتراضيا). أيضا المتغيرات الذي تقوم بتعريفها ضمن الاجرائية (باستخدام مساحة var قبل تعليمة begin) يتم تخزينها في الصفّ، بحيث عند إنهاء الاجرائية يتم إزالة هذه المتغيرات آليا (قبل العودة للتوليف المنادي، وحسب ترتيب LIFO).

الصفّ stack هو واحد من ثلاث مناطق للذاكرة متوفرة للتطبيق. المنطقتان الأخريان تسمّيان ذاكرة جامعة global memory و ركام heap. أنظر heap في هذا القاموس ..

يستعمل دلفي الصفّ لمحددات إجرائية و قيمها المرجّعة (إلا إذا استخدمت الاسلوب الافتراضي و هو طريقة استدعاء المسجّل register)، الخاصة بمتغيرات الإجرائية المحلية، و الخاصة باستدعاءات وظائف API لويندوز، وهكذا.

يمكن لتطبيقات ويندوز أن تحتفظ بكمية ضخمة من الذاكرة للصفّ. في دلفي يمكنك تحديد هذا الأمر في صفحة الرابط Linker من خيارات المشروع Project Optopns، و هذا ما يفعله عموما خيار Default الافتراضي. إذا ما تحصّلت على رسالة خطأ لإمتلاء الصفّ stack full فالأغلب ان هذا سببه أن لديك وظيفة تنادي نفسها تكرارا و بدون توقف. وليس بسبب محدودية فضاء الصفّ.

مصطلحات جديدة مطلوبة

حقوق النسخ محفوظة لماركو كانتو؛ وينتش ايطاليا © Copyright Marco Cantù, Wintech Italia Srl 1995-2000
حقوق الترجمة: خالد الشقروني ، 2000