Koti kehitys Mikä on soittopino? - määritelmä techopediasta

Mikä on soittopino? - määritelmä techopediasta

Sisällysluettelo:

Anonim

Määritelmä - mitä Call Stack tarkoittaa?

C # -puhelupino on luettelo niiden menetelmien nimistä, joita kutsutaan ajoaikana ohjelman alusta ohjelman nykyisen käskyn suorittamiseen saakka.

Puhelupino on pääasiassa tarkoitettu seuraamaan pistettä, johon jokaisen aktiivisen aliohjelman tulisi palata hallinta, kun se suorittaa loppuun suorittamisen. Puhelupino toimii välineenä sovelluksen virheenkorjaamiseen, kun jäljitettävää menetelmää voidaan kutsua useammassa kuin yhdessä yhteydessä. Tämä on parempi vaihtoehto kuin jäljityskoodin lisääminen kaikkiin menetelmiin, jotka kutsuvat annettua menetelmää. Aina, kun poikkeus heitetään mihin tahansa käyttäjäkoodiin, Common Language Runtime (CLR) purkaa puhelupinon ja etsii saalilohkoa erityisen poikkeustyypin määrittämiseksi. Jos asianmukaista käsittelijää ei ole, CLR lopettaa hakemuksen. Siksi soittopinoa käytetään kertomaan suoritusosoittimeen, minne seuraavaksi mennä.

Techopedia selittää Call Stackin

Puhelujen pino on järjestetty "pinoksi", tietorakenteeksi muistiin kohteiden säilyttämiseksi viimeisenä ensimmäisessä-ulos-muodossa siten, että aliohjelman soittaja työntää palautusosoitteen pinolle ja kutsutulle aliohjelmalle valmistuksen jälkeen, aukaisee paluuosoitteen puhelun pinosta pois siirtääksesi ohjauksen tähän osoitteeseen.

C #: ssa mikä tahansa sovellus alkaa "pää" -menetelmällä, joka puolestaan ​​kutsuu muita menetelmiä. Jokaisen menetelmäsoiton yhteydessä menetelmä lisätään pinon yläosaan ja poistetaan pinosta palautettaessa soittajalle. Lisäksi lohkossa ilmoitetun muuttujan laajuus määritetään siitä hetkestä lähtien, kun sen arvo työnnetään pinolle (osana puhelu pinoa), kunnes suorittaminen poistuu lohkosta, kun muuttuja ja puhelu pinot aukeavat pinosta. Siten pino ylläpitää sekä paikallisia muuttujia (arvotyyppejä) että kutsupinoa (pinokehyksiä), joiden koko osoittaa ohjelman monimutkaisuuden.

Tämä määritelmä on kirjoitettu yhteydessä C #
Mikä on soittopino? - määritelmä techopediasta