فهم حقيقة مكدس الاستدعاءات

في علوم الكمبيوتر، مكدس الاستدعاءات (بالإنجليزية: call stack) هو مجموعة بنية البيانات التي تخزين معلومات حول النشطة الوظائف الفرعية ل برنامج كمبيوتر. يُعرف هذا النوع من المكدس أيضًا باسم مكدس التنفيذ ، أو مكدس البرامج ، أو مكدس التحكم ، أو مكدس وقت التشغيل ، أو مكدس الماكينة ، وغالبًا ما يتم اختصاره إلى «المكدس» فقط. على الرغم من أهمية صيانة مكدس الاستدعاءات للتشغيل السليم لمعظم البرامج، إلا أن التفاصيل عادةً ما تكون مخفية وتلقائية في لغات البرمجة عالية المستوى. توفر العديد من مجموعات تعليمات الكمبيوتر إرشادات خاصة للتعامل مع الحزم.

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

قراءة المقال الكامل على ويكيبيديا ←