Hívási lista

Szerző: Lewis Jackson
A Teremtés Dátuma: 8 Lehet 2021
Frissítés Dátuma: 23 Június 2024
Anonim
Hívási lista - Technológia
Hívási lista - Technológia

Tartalom

Meghatározás - Mit jelent a Call Stack?

A C # -ben szereplő hívásverem a futtatáskor meghívott módszerek nevét tartalmazza a program kezdetétől az aktuális utasítás végrehajtásáig.


A hívásverem elsősorban arra szolgál, hogy nyomon kövesse azt a pontot, amelyre az egyes aktív szubrutinoknak vissza kell adniuk az irányítást, amikor végrehajtják. A hívásverem eszközként szolgál egy alkalmazás hibakereséséhez, ha a nyomon követhető módszer egynél több összefüggésben meghívható. Ez jobb alternatívát jelent, mint a nyomkövető kód hozzáadása az összes módszerhez, amely meghívja az adott módszert. Ha valamelyik kivételt a felhasználói kód bárhová eldobják, a Common Language Runtime (CLR) letekeri a hívásveremt, és keresi a fogási blokkot az egyedi kivétel típusának meghatározásához. Ha nincs megfelelő kezelő, a CLR leállítja az alkalmazást. A hívásverem tehát arra szolgál, hogy megmondja a végrehajtási mutatót, hogy hova menjen tovább.


Bevezetés a Microsoft Azure és a Microsoft Cloud | A jelen útmutató során megtanulja, mi szól a felhőalapú számítástechnikából, és hogyan segítheti a Microsoft Azure a felhőből történő migrációt és az üzleti vállalkozás futtatását.

A Techopedia magyarázza a Call Stack-et

A hívásverem „verem” -ként van rendezve, amely a memóriában lévő adatstruktúra az elemek utolsó tárolása céljából történő tárolására, úgy, hogy az szubrutin hívója a visszatérési címet a verembe és a meghívott szubrutinba tolja, felugrik a visszatérési címet a hívásveremből, hogy átvegyék az irányítást arra a címre.

A C #-ban minden alkalmazás "fő" módszerrel kezdődik, amely viszont más módszereket hív meg. Minden módszerhíváskor a módszert hozzáadják a verem tetejéhez, és a hívóhoz való visszatéréskor eltávolítják a veremből. Ezenkívül a blokkban deklarált változó hatókörét attól az időponttól határozzuk meg, amikor annak értékét a veremre tolják (a hívásverem részeként), amíg a végrehajtás el nem hagyja a blokkot, amikor a változó és a hívásverem felpattan a veremről. Így a verem fenntartja mind a helyi változókat (értéktípusok), mind a hívás veremét (verem keretek), amelyek mérete a program összetettségét jelzi.


Ezt a meghatározást a C #