| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> Computer Programming Languages >> Content
    Motivi per Stack Overflow
    stack overflow è un errore di applicazione che si verifica ogni volta che troppa memoria viene allocata sulla chiamata pila di esecuzione di un'applicazione. Nel sistema operativo , questa chiamata stack è letteralmente una "pila di memoria" a cui le variabili di programmazione e le chiamate di procedura sono memorizzati per l'utilizzo nell'ambito di applicazione corrente di esecuzione . Le cause primarie di overflow dello stack sono ricorsione infinita e variabili di stack che sono troppo grandi . Una terza causa , anche se meno probabile , può verificarsi a causa di perdita del puntatore dello stack in memoria . Infinite ricorsione

    Infinite ricorsione provoca lo stack di chiamate a traboccare nella maggior parte dei linguaggi di programmazione . Quando una procedura o funzione chiama un'altra procedura o funzione, le precedenti informazioni sullo stack di chiamate viene mantenuto e le informazioni dalla nuova funzione viene allocato in cima alla pila . Quando una funzione che richiama sé stesso ricorsivamente senza un mezzo chiaro di cessazione , l'applicazione verrà allocare più memoria sullo stack continuamente fino allocare più memoria di quella disponibile sullo stack , causando un overflow dello stack .
    Molto grandi variabili stack

    variabili dichiarate sullo stack includono variabili di input in un procedimento , il valore di ritorno per la procedura e le eventuali variabili membro utilizzati per i calcoli . Ciò può provocare un overflow dello stack se la dimensione combinata di chiamata di procedura e le sue variabili è maggiore della memoria stack disponibile .
    Stack Pointer Perdita

    Pila perdita puntatore si verifica ogni volta che la memoria sullo stack viene danneggiato . Ciò può accadere , cercando di accedere alle funzioni o ai dati in memoria che in precedenza sono stati liquidati , per esempio. Se questo accade , una singolare forma di ricorsione si verifica , con la conseguente applicazione cercando di trovare le informazioni di base di un dato pezzo di dati . Poiché le informazioni tecnicamente non esiste, il comportamento dell'applicazione diventa indefinito , e una serie infinita di chiamate di funzione diventano possibili . Questa limitazione si verifica principalmente solo a basso livello, linguaggi orientati agli oggetti , come C + + .

    Previous :

    next :
      Articoli Correlati
    ·Come trasferire dal microcontroller a PC 
    ·Fai da te motori passo-passo 
    ·Come calcolare virgola mobile di precisione 
    ·Come trovare il tempo Complessità in C + + 
    ·Come eliminare il primo elemento di C String 
    ·La differenza tra funzione di Override & sovraccarico F…
    ·Come inserire un intero in una stringa 
    ·Come creare un modello di dati relazionale 
    ·Come creare un programma di installazione per un serviz…
    ·Oracle SQL Tutorial 
      Articoli in evidenza
    ·Come convertire un array di celle in una stringa 
    ·Come usare Bit Shifting in Crittografia 
    ·Come sostituire più caratteri in una stringa con Java 
    ·Come convertire HTML in testo in SQL 
    ·Come casualmente Immagini ciclo con Java 
    ·Come convertire MyISAM a InnoDB in MySQL 
    ·Come dividere in VBA 
    ·Visivi Termini di base Explained 
    ·Come modificare un indice discesa in Javascript 
    ·Come costruire un CMS PHP a MySQL 
    Copyright © Conoscenza Informatica http://it.wingwit.com