Connaissances Informatiques >> programmation >> Computer Programming Languages >> Content
  Derniers articles
  • Comment utiliser OPL 
  • Quel est le type Strict contrôle 
  • Comment personnaliser GVIM pour le c…
  • Comment écrire un programme qui tra…
  • Comment compiler sur TextPad 5 
  • La convolution de deux signaux de te…
  • Comment commander Symboles dans Prog…
  • Comment ouvrir un TPB 
  • Comment faire un mot d'un lien à qu…
  • Comment faire pour installer Norstar…
  •   Computer Programming Languages
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Computer Programming Languages

    Qu'est-ce que Stack Overflow

    ? Un débordement de pile est un type d' erreur de programmation qui se produit lorsqu'un programme tente d'allouer plus de mémoire sur la pile d'appel que ce qui est disponible . Il s'agit d'une erreur potentiellement grave qui provoque le programme incriminé à l'accident et est habituellement le résultat d'une des deux erreurs de conception . La pile

    La pile se réfère à une partie de la mémoire qui est utilisé pour stocker des informations sur les fonctions d'un programme . Les tailles et les détails techniques de la pile sera varient selon le langage de programmation , un compilateur , système d'exploitation et le type de processeur, et ces détails sont généralement cachés au programmeur dans la plupart des langages de haut niveau.
    Exemple pile

    Prenons l'exemple suivant en pseudo-code :
    fonction

    un {1 . fonction b.2 appeler . appeler la fonction c . }

    fonction b { 1. fonction c.2 appeler . Coin impression . }
    Fonction

    c {1 . Tirage . }

    Comme chaque fonction peut appeler d'autres fonctions , la pile est là pour garder une trace de l'endroit où la fonction de parent pour continuer après un retour de la fonction de l'enfant. Cet exemple , s'il s'est arrêté à l'intérieur de la fonction c , peut avoir une pile qui ressemble à ceci :

    > A1 ---> B1 --------> C1

    Depuis la première ligne de la fonction Une fonction appels B, et la première ligne de la fonction B appelle la fonction C. Lorsque la fonction C se terminera , le programme continuera de remonter la chaîne , la course B2 et enfin A2 .

    récursion infinie

    Un débordement de pile se produit lorsqu'un programme tente de stocker trop d'informations sur la pile. La cause la plus fréquente d'un débordement de pile est une erreur de conception appelé récursion infinie . Prenons l'exemple suivant en pseudo-code :
    fonction

    {1 . appeler la fonction A. }

    la pile résultante :

    -> A1 ---> A1 --------> A1 ------- ------- > A1 ( et ainsi de suite )

    Ceux qui sont familiers avec la programmation informatique reconnaîtront qu'il s'agit d' une variante de la boucle infinie , à l'exception , plutôt que de courir toujours, ce programme finira par consommer tout la mémoire sur la pile, résultant dans un accident et une erreur de débordement de pile.
    prévention

    pile erreurs de dépassement se produit généralement lorsque l'on tente de mettre en œuvre des algorithmes récursifs , et la clé d'éviter la plupart des erreurs est de s'assurer que ce qui suit est vrai de tous implémentation récursive : la fonction récursive doit contenir une condition de sortie qui ne crée pas une autre couche de la récursivité et la fonction récursive doit être conçu de telle sorte que chaque couche de la récursivité ajoutée doit apporter la fonction de plus près à la condition de sortie .
    grandes variables locales

    autre , cause beaucoup plus rare d'erreurs de dépassement de pile est la déclaration de grandes variables locales , généralement sous la forme des tableaux contenant des centaines de milliers , voire des millions , d'éléments . Le plus simple pour éviter les débordements de pile dans cette situation est d'utiliser des pointeurs et l'allocation dynamique de la mémoire pour éviter de déclarer les données sur la pile lorsque ces opérations gourmandes en mémoire sont nécessaires.

     
    Article précédent:
    Article suivant:
    Articles recommandés
  • Quels sont les protocoles de syntaxe 
  • Comment faire pour supprimer mon cache avec ActionScript 
  • Android Tools 
  • Comment mettre à jour Joomla! K2 
  • Comment définir Sessions d'attente en iFrame 
  • Comment écrire une application de bureau Linux 
  • Comment faire pour convertir Int au Real en SML 
  • Les trois principes fondamentaux de la programmation orientée objet 
  • Comment faire un script Gros Itself 
  • Comment initialiser une variable Float 
  • Connaissances Informatiques © http://www.ordinateur.cc