Opkaldsstabel

Forfatter: Lewis Jackson
Oprettelsesdato: 8 Kan 2021
Opdateringsdato: 25 Juni 2024
Anonim
Opkaldsstabel - Teknologi
Opkaldsstabel - Teknologi

Indhold

Definition - Hvad betyder Call Stack?

En opkaldsstabel i C # er listen over navne på metoder, der kaldes på kørselstidspunkt fra starten af ​​et program, indtil udførelsen af ​​den aktuelle erklæring.


En opkaldsstabel er hovedsageligt beregnet til at holde styr på det punkt, hvortil hver aktiv subroutine skal returnere kontrol, når den er færdig med at udføre. Opkaldsstabel fungerer som et værktøj til fejlsøgning af en applikation, når metoden, der skal spores, kan kaldes i mere end en con. Dette er et bedre alternativ end at tilføje sporingskode til alle metoder, der kalder den givne metode. Hver gang en undtagelse kastes hvor som helst i brugerkoden, vil Common Language Runtime (CLR) slappe af opkaldsstakken og søge efter fangstblokken for at bestemme den specifikke undtagelsestype. Hvis der ikke er nogen passende behandler, afslutter CLR ansøgningen. Opkaldsstabel bruges derfor til at fortælle eksekveringsmarkøren, hvor den skal gå næste.

En introduktion til Microsoft Azure og Microsoft Cloud | Gennem denne vejledning lærer du, hvad cloud computing handler om, og hvordan Microsoft Azure kan hjælpe dig med at migrere og drive din virksomhed fra skyen.

Techopedia forklarer Call Stack

Opkaldsstabel er organiseret som "stak", en datastruktur i hukommelsen til at gemme elementer på en sidst-til-første-ud måde, så den, der ringer til subroutinen skubber returadressen på stakken og den kaldte subroutine, efter at have afsluttet, vises returadressen fra opkaldsstakken for at overføre kontrol til den adresse.


I C # starter ethvert program med en "hoved" -metode, som igen kalder andre metoder. Ved hvert opkald til en metode tilføjes metoden øverst i stakken og fjernes fra stakken, når den vender tilbage til den, der ringer op. Omfanget af en variabel, der er erklæret i en blok, bestemmes også fra det tidspunkt, hvor dens værdi skubbes på stakken (som en del af opkaldsstakken), indtil udførelsen forlader blokken, når variablen og opkaldsstakken poppes ud af stakken. Stablen opretholder således både lokale variabler (værdityper) og opkaldsstakken (stakrammer), hvis størrelse angiver kompleksiteten af ​​et program.

Denne definition blev skrevet i C #