qas: question: ما هو مكدس الاستدعاءات في علوم الكمبيوتر وما هي وظيفته؟


answers: answer_id: 1081753
question_id: 1174814
text:  مجموعة بنية البيانات التي تخزين معلومات حول النشطة الوظائف الفرعية ل برنامج كمبيوتر
answer_end: 122
is_impossible: no

question: ما هي الأغراض المختلفة التي يمكن استخدام مكدس الاستدعاءات لتحقيقها؟


answers: answer_id: 1081754
question_id: 1174815
text: يتم استخدام مكدس الاستدعاءات لعدة أغراض ذات صلة، ولكن السبب الرئيسي لامتلاك واحد هو تتبع النقطة التي يجب أن يعيد كل روتين فرعي نشط التحكم إليها عند الانتهاء من التنفيذ
answer_end: 680
is_impossible: no

question: ما هي المشكلة التي يحلها مكدس الاستدعاءات في البرامج؟


answers: answer_id: 1081755
question_id: 1174816
text: إلا أن التفاصيل عادةً ما تكون مخفية وتلقائية في لغات البرمجة عالية المستوى
answer_end: 439
is_impossible: no

question: ما هو تأثير تجاوز سعة المكدس على أداء البرامج؟


answers: answer_id: 1081756
question_id: 1174817
text:  يحدث خطأ يسمى تجاوز سعة المكدس
answer_end: 1630
is_impossible: no

question: كيف تتفاعل اللغات البرمجية مع مكدس الاستدعاءات وما هي التفاصيل التي يجب على المبرمجين أن يعرفوها؟


answers: answer_id: 1081757
question_id: 1174818
text: تعتمد التفاصيل الفعلية للمكدس في لغة برمجة على المترجم ونظام التشغيل ومجموعة التعليمات البرمجية المتاحة
answer_end: 2602
is_impossible: no

question: كيف يمكن للمبرمجين إضافة وإزالة إدخالات في مكدس الاستدعاءات؟


answers: answer_id: 1081758
question_id: 1174819
text:  تسمى إضافة إدخال روتين فرعي إلى مكدس المكالمات أحيانًا «لف»؛ على العكس من ذلك، فإن إزالة الإدخالات هي «فك»
answer_end: 1773
is_impossible: no
context: في علوم الكمبيوتر، مكدس الاستدعاءات هو مجموعة بنية البيانات التي تخزين معلومات حول النشطة الوظائف الفرعية ل برنامج كمبيوتر. يُعرف هذا النوع من المكدس أيضًا باسم مكدس التنفيذ ، أو مكدس البرامج ، أو مكدس التحكم ، أو مكدس وقت التشغيل ، أو مكدس الماكينة ، وغالبًا ما يتم اختصاره إلى «المكدس» فقط. على الرغم من أهمية صيانة مكدس الاستدعاءات للتشغيل السليم لمعظم البرامج، إلا أن التفاصيل عادةً ما تكون مخفية وتلقائية في لغات البرمجة عالية المستوى. توفر العديد من مجموعات تعليمات الكمبيوتر إرشادات خاصة للتعامل مع الحزم. يتم استخدام مكدس الاستدعاءات لعدة أغراض ذات صلة، ولكن السبب الرئيسي لامتلاك واحد هو تتبع النقطة التي يجب أن يعيد كل روتين فرعي نشط التحكم إليها عند الانتهاء من التنفيذ. الروتين الفرعي نشط هو روتين تم استدعاؤه، ولكنه لم يكتمل بعد، وبعد ذلك يجب إعادة التحكم إلى نقطة الاستدعاء. يمكن أن تتداخل عمليات التنشيط هذه للروتينات الفرعية مع أي مستوى (تكراري كحالة خاصة)، ومن هنا تأتي بنية المكدس. على سبيل المثال، إذا قام روتين فرعي codice_1 باستدعاء روتين فرعي codice_2 من أربعة أماكن مختلفة، codice_2 أن يعرف DrawLine مكان العودة عند اكتمال تنفيذه. لإنجاز ذلك، يتم دفع العنوان الذي يتبع التعليمات التي codice_2 إلى DrawLine ، "عنوان المرسل" ، إلى الجزء العلوي من مكدس المكالمات مع كل مكالمة. الوصف. نظرًا لأن مكدس المكالمات منظم ك مكدس، يقوم المتصل بدفع عنوان الإرجاع إلى المكدس، والروتين الفرعي المسمى، عندما ينتهي، يسحب أو ينبثق عنوان الإرجاع من مكدس المكالمات وينقل التحكم إلى هذا العنوان. إذا استدعى روتين فرعي يسمى روتينًا فرعيًا آخر، فسوف يدفع عنوان إرجاع آخر إلى مكدس المكالمات، وهكذا، مع تراكم المعلومات وتفكيكها كما يملي البرنامج. إذا استهلك الدفع كل المساحة المخصصة لمكدس الاستدعاءات، يحدث خطأ يسمى تجاوز سعة المكدس، مما يؤدي عمومًا إلى تعطل البرنامج. تسمى إضافة إدخال روتين فرعي إلى مكدس المكالمات أحيانًا «لف»؛ على العكس من ذلك، فإن إزالة الإدخالات هي «فك». عادة ما يكون هناك مكدس استدعاء واحد مرتبط ببرنامج قيد التشغيل (أو بشكل أكثر دقة، مع كل مهمة أو سلسلة من العمليات)، على الرغم من أنه يمكن إنشاء مكدسات إضافية لمعالجة الإشارات أو تعدد المهام التعاوني (كما هو الحال مع setcontext). لأنه ليس هناك واحد فقط في هذا السياق أهمية، فإنه يمكن أن يشار إليها "على" أنها كومة (ضمنا، «المهمة»)؛ ومع ذلك، في لغة البرمجة فورت الوصول إلى "كومة البيانات" أو "المعلمة كومة" أكثر صراحة من مكدس الاستدعاءات ويشار إلى "كومة" في لغات البرمجة عالية المستوى، عادةً ما تكون تفاصيل مكدس المكالمات مخفية عن المبرمج. يتم منحهم حق الوصول إلى مجموعة من الوظائف فقط، وليس الذاكرة الموجودة على المكدس نفسه. هذا مثال على التجريد. من ناحية أخرى، تتطلب معظم لغات التجميع من المبرمجين المشاركة في معالجة المكدس. تعتمد التفاصيل الفعلية للمكدس في لغة برمجة على المترجم ونظام التشغيل ومجموعة التعليمات البرمجية المتاحة. وظائف مكدس المكالمات. كما هو مذكور أعلاه، فإن الغرض الأساسي من مكدس المكالمات هو "تخزين عناوين الإرجاع" . عندما يتم استدعاء روتين فرعي، يجب حفظ موقع (عنوان) التعليمات التي يمكن من خلالها استئناف روتين الاتصال لاحقًا في مكان ما. استخدام مكدس لحفظ عنوان المرسل له مزايا مهمة مقارنة باتفاقيات الاستدعاء(اصطلاح الاستدعاء) البديلة. الأول هو أن كل