Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> Computer Programming Languages >> Content
Redenen voor stackoverloop
Stack overflow is een applicatie fout die optreedt wanneer er te veel geheugen is toegewezen aan de run - time call stack van een aanvraag . In het besturingssysteem , deze oproep stack is letterlijk een " stack van het geheugen " , waarop de programmering variabelen en procedure oproepen worden opgeslagen voor gebruik binnen het huidige toepassingsgebied van executie . De voornaamste oorzaken van de stack overflow zijn oneindige herhaling en stack variabelen die te groot zijn . Een derde oorzaak , maar minder waarschijnlijk kan optreden als gevolg van het verlies van de stack pointer in het geheugen . Oneindige herhaling

Oneindige recursie
zorgt ervoor dat de call-stack te overstromen in de meeste computertalen . Wanneer een procedure of functie roept een andere procedure of functie , wordt de eerdere informatie over de call stack onderhouden en de informatie van de nieuwe functie wordt toegekend bovenop de stapel . Wanneer een functie die zichzelf recursief oproepen zonder een duidelijke wijze van beëindiging , de applicatie zal meer geheugen op de stapel voortdurend wijzen totdat er meer geheugen toegewezen dan beschikbaar op de stapel , wat resulteert in stack overflow .
Erg grote Stapel variabelen

variabelen
die worden gedeclareerd op de stapel onder inputvariabelen in een procedure , de return waarde van de procedure en elk lid variabelen gebruikt voor de berekeningen . Dit kan resulteren in een stack overflow als de totale omvang van de procedure call en de variabelen groter is dan de beschikbare stack geheugen .
Stack Pointer Verlies

Stack
pointer verlies treedt op wanneer het geheugen op de stack beschadigd raakt . Dit kan gebeuren door te proberen om functies of data in het geheugen die eerder werden vrijgemaakt, bijvoorbeeld . Als dit gebeurt , een unieke vorm van recursie optreedt , wat resulteert in de toepassing probeert om de basis informatie van een bepaald stuk van de gegevens uit te vinden . Omdat de informatie technisch niet bestaat , werking van de toepassing ongedefinieerd en een eindeloze stroom functieaanroepen mogelijk worden . Deze beperking komt in eerste instantie alleen in low - level , object - georiënteerde talen , zoals C + + .

Previous: Next:
  Computer Programming Languages
·Regeling Programming Help 
·Hoe je leden Rechtvaardigen Me…
·Waarom Computers Praat in Nume…
·Hoe te Controls In een ASPX- p…
·Wat zijn Numerieke variabele C…
·Hoe Set Up & SSIS Configureren…
·Hoe een bestand toewijzen 
·Eval Alternatieven 
·Hoe maak je een MSI-bestand be…
  Related Articles
Hoe maak je een fout Handler voor een VB…
Hoe Access gebruiken voor Visual Basic P…
Hoe om te controleren voor Null waarde i…
Tutorial voor Visual Basic Commands 
Graphics Tutorial voor Visual Basic 6 
Basic Help voor Microsoft Visual 
VBA Tutorial voor Word 
Tutorial voor het toevoegen van Visual B…
Hoe maak je een Visual Basic Stop voor L…
  Programmering Articles
·Hoe te JNI compileren in Ubuntu 
·Hoe maak je een Baseball Ticket Bereken …
·Hoe te converteren van een lijst om een …
·Wat is Ongelijkheid in JavaScript ? 
·COBOL Functies 
·Hoe te Python compileren op een UNIX Ter…
·Hoe te Cast te Integers in VB6 
·Hoe je Java installeren op een Windows M…
·Hoe te Cache My Java Applet 's bijwerken…
Copyright © Computer Kennis http://www.nldit.com