| 1 question sur les labels |
| Auteur |
Message |
kelk'1
Invité
|
Posté le : Jeu 14 Mar 2013, 22:04
|
|
|
Salut à tous, j'aurais juste une simple question à vous poser sur les labels (j'ai vu il y a longtemps un bon tuto fait par linkakro sur celà mais j'ai perdu la page :'-( )
Voilà donc est-ce qu'un label prend de la rame à chaque fois qu'il est chargé ou pas ? Je m'explique :
J'avais un programme avec des labels mais comme j'avais pas bcp de rame libre ca me faisait erreur memoire au bout d'un moment
Là j'en ai un autre avec 1 ou 2 (pas encore fini) labels seulement et ma question est: est-ce que au bout d'un moment après avoir recommencé pleins de parties à la suite sur ce programme , la calculette me sortira err memoire ?
Je pense que non mais je voudrais quand meme etre sur, merci à tous 
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Jeu 14 Mar 2013, 22:35
|
|
|
Mon tutoriel à propos de la saturation des Goto se trouve dans la section article.
Lorsque la calculatrice interprète correctement une instruction de boucle/alternative/appel, elle stocke en mémoire "pile" des informations lui permettant de se repérer dans la gestion de ces structures.
Chaque fois qu'un programme est arrêté, la mémoire que sa pile pouvait occuper est libérée.
Le Goto et le Label ne modifient pas ces informations et ne stockent rien. Ils perturbent alors l'execution normale des autres instructions.
Donc si tu joues plusieurs parties (avec un menu par exemple) la mémoire n'est pas libérée et tu peux saturer.
Il faut arrêter régulièrement le programme ou s'assurer que les Goto sont correctement utilisés ou encore ne pas utiliser de boucles/alternatives autour des Goto.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |
kelk'1
Invité
|
Posté le : Jeu 14 Mar 2013, 23:34
|
|
|
Ok, et si je fais des aller-retours vers d'autres programmes ex:
| Code |
PROGRAM:POKEMON
........... // instructions normales
:pgrmZIPPOKEMONCOMBATS
PROGRAM:ZIPPOKEMONCOMBATS
.................... //instructions du combat
:pgrmPOKEMON
|
Là ça ne devrait rien garder en mémoire, non ? la calculette n'a pas à retenir de positions ?
|
| |
|
| |
linkakro
Autorisation : Membre
Nb de messages : 3738
Inscrit le : Lun 19 Oct 2009, 21:25
|
Posté le : Jeu 14 Mar 2013, 23:54
|
|
|
Exact. Chaque fois que la calculatrice quitte un programme elle libère la mémoire vive dédiée aux boucles/alternatives.
Un sous-programme qui sépare un menu principal et le jeu peut suffir tant qu'on y retourne régulièrement.
Tu devrais chercher à éliminer les bugs avant de te rabattre sur cette méthode extrème de libération.
J'ai amélioré mon tutoriel ce soir.
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Pour tout le monde et surtout les débutants, quelques-uns des articles courants :
*Traductions Algorithmie/Ti-Basic.
*Caractères spéciaux sur Tout82
Les défauts du TI-Basic : Goto_versus_algo et DelVar/End/Lbl/guillemet/store |
 |
|
| |