| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> Computer Programmeringssprog >> Content
    Årsager til Stack Overflow
    Stack overflow er et program fejl, der opstår , når alt for meget hukommelse er allokeret på run-time kaldstakkens af en ansøgning. I operativsystemet , er denne kaldstakkens bogstavelig talt en " stak af hukommelse" , som programmering variabler og procedure opkald gemmes til brug inden for de gældende rammer for henrettelse. De primære årsager til stack overflow er uendelige rekursion og stak variabler , der er for store. En tredje årsag , dog mindre sandsynligt , kan forekomme på grund af tab af stakhenvisningen i hukommelsen . Infinite Recursion

    Infinite rekursion får kaldstakkens til overløb i de fleste computer -sprog. Når en procedure eller funktion kalder en anden procedure eller funktion er de tidligere oplysninger om kaldstakkens vedligeholdes og oplysningerne fra den nye funktion fordeles på toppen af ​​stakken. Når en funktion , der kalder sig rekursivt uden en klar middel til ophør , vil programmet allokere mere hukommelse på stakken , indtil mere hukommelse allokeres end tilgængelige på stakken , hvilket resulterer i stakken overløb.
    Meget stor stak variable

    variabler, der angives på stakken inkluderer input variabler i en procedure , er returværdien for proceduren og ethvert medlem variabler, der anvendes til beregninger . Dette kan resultere i stakoverløb hvis den samlede størrelse af procedure call og dens variabler er større end den tilgængelige stak hukommelse.
    Stack Pointer Tab

    Stack pointer tab opstår, når hukommelsen på stakken bliver beskadiget . Dette kan ske ved at forsøge at få adgang til funktioner eller data i hukommelsen , der tidligere er blevet ryddet, for eksempel. Hvis dette sker , en unik form for rekursion forekommer , hvilket resulterer i ansøgningen forsøger at finde ud af basen oplysninger om en given stykke data . Fordi oplysningerne teknisk ikke eksisterer , adfærd af ansøgningen bliver udefineret , og en endeløs strøm af funktion opkald bliver mulig. Denne begrænsning primært forekommer kun i lav-niveau , objektorienterede sprog, såsom C + +.

    Forrige :

    næste :
      Relaterede artikler
    ·Hvordan man laver en Fleece tæppe med billeder 
    ·Sådan Tilslut til Access i VB6 
    ·Sådan bruges COBOL Syntaks 
    ·Sådan bruges en Ones Besætning i en Bit Shift 
    ·Hvordan man laver et script Luk Itself 
    ·Hvordan man skriver DIV Tags 
    ·Flash MX spil Tutorial 
    ·Sådan nulstilles lastrummet på Matlab 
    ·Definition af et rutediagram 
    ·Sådan oprettes en UDB Funktion 
      Anbefalede Artikler
    ·Sådan fjernes Time pubDate i et RSS i PHP 
    ·Hvordan man gør en Square Root i C + + 
    ·Countdown Tutorial i Java 
    ·Sådan Multiply heltal med Bit Forskydninger 
    ·Sådan Skjul Object Gennemførelse i C + + 
    ·Sådan Konverter en Xcode projekt i Files 
    ·Hvad Er String Class i Java 
    ·Sådan Put JavaScript-kode ind i en PHP fil 
    ·Hvordan man opbygger en Floating Box 
    ·Sådan installeres annoncer i Single Indlæg PHP 
    Copyright © Computer Viden http://www.computerdk.com