Niveau de pile

Résolu
Signaler
Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
-
Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
-
J'ai un programme ou j'ai besoin qu'une sub appelle une sub qui
rappelle une sub..... un certain grand nombre de fois. je ne me perd
pas les pedales, il y a toujours un moment ou ca s'arrete et on
retourne a la case depart.

Au bout d'un moment j'ai un message du genre "Stack Full" et j'ai
compris que VB a une limite dans le nombre de retour possibles.

Il ne me faudrait que 30 a 40% en plus pour que mon programme marche a tout les coups.

J'envisage de gerer tout ca moi meme, ne serais-ce que pour le plaisir
de programmer, mais y a-t-il un moyen de prevoir et modifier la taille
de la pile concernee?

6 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
131
Les fonctions récursives peuvent toujours être remplacées par des
fonctions linéaires en utilisant au moins une pile en parallèle pour
stocker les données. Bien que ce soit compliqué dans pas mal de cas,
cela évite le problème de pile trop petite.



Pour continuer en récursif et éviter les problèmes de piles, évite de
passer trop de paramètres à ta fonction récursive (ou passe les par
références et non par valeur si possible), et évite de déclarer trop de
variables locales dans ta fonction (préfère un tableau global à la
limite, qui sera stocké sur le tas et non plus dans la pile).

DarK Sidious

Administrateur et reponsable VB/API du site www.ProgOtoP.com
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 109 internautes nous ont dit merci ce mois-ci

Messages postés
721
Date d'inscription
dimanche 10 juin 2001
Statut
Membre
Dernière intervention
27 mars 2011
7
Un programme qui fait une erreur de piles est un programme mal programmé. Docn, il va falloir revoir la facon de résoudre ton pb!
Messages postés
721
Date d'inscription
dimanche 10 juin 2001
Statut
Membre
Dernière intervention
27 mars 2011
7
Un programme qui fait une erreur de piles est un programme mal programmé. Docn, il va falloir revoir la facon de résoudre ton pb!
Messages postés
721
Date d'inscription
dimanche 10 juin 2001
Statut
Membre
Dernière intervention
27 mars 2011
7
Un programme qui fait une erreur de piles est un programme mal programmé. Docn, il va falloir revoir la facon de résoudre ton pb!
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Statut
Membre
Dernière intervention
11 mars 2019
31
ça arrive souvent quand on fait du récursif, la solution c'est de se limiter en nombre de boucles, en nombre de variables locales, ou de trouver une solution non récursive.

Daniel
Messages postés
261
Date d'inscription
jeudi 13 janvier 2005
Statut
Membre
Dernière intervention
18 mai 2009
3
Merci gobilot et dark Sidious, pas tres constructif Tilois.



J'avais pas besoins de beaucoup de pile en plus.



j'avai deja une idee en tete mais je suis un peu feneant.