بيت تطوير ما هي مكدس المكالمات؟ - تعريف من techopedia

ما هي مكدس المكالمات؟ - تعريف من techopedia

جدول المحتويات:

Anonim

التعريف - ماذا يعني Call Stack؟

مكدس الاستدعاءات ، في C # ، هو قائمة أسماء الطرق التي تم استدعاءها في وقت التشغيل من بداية البرنامج حتى تنفيذ العبارة الحالية.

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

تيكوبيديا تشرح Call Stack

يتم ترتيب مكدس الاستدعاءات كـ "مكدس" ، وهي بنية بيانات في الذاكرة لتخزين العناصر بطريقة أخيرة ، بحيث يقوم المتصل بالروتين الفرعي بدفع عنوان المرسل إلى المكدس والروتين الفرعي المدعو ، بعد الانتهاء ، للملوثات العضوية الثابتة عنوان المرسل قبالة مكدس الدعوة لنقل السيطرة على هذا العنوان.

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

تمت كتابة هذا التعريف في سياق C #
ما هي مكدس المكالمات؟ - تعريف من techopedia