GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Criminalos le 11 Août 2009, 17:28:12
-
voila le probleme aider moi svp
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 5904 bytes
Code size: 1100068 bytes
Data size: 2188232 bytes
Stack/heap size: 16384 bytes; estimated max. usage=4904 cells (19616 bytes)
Total requirements: 3310588 bytes
-
c'est juste que tu a dépasser la limite de sa:mp ;)
-
donc comment doi je faire
-
soit rien sa n'empéche pas de faire tourner ton script . :bangin
soit tu optimise ton script ::)
je pense que c'est un gf ?
-
Salut,
contrairement à ce que plusieurs pensent, cet avertissement est (pour exagérer légèrement) extrèmement grâve, il te dit que ton script utilise plus de mémoire sur le "stack" que disponible (au moment de son exécution), ainsi tu risque que certains données soit simplement éliminés par manque d'espace, ceci amène de sérieux problème et peut rapidement faire planter le serveur....
bref, tu dois soit augmenter la taille allouée du "stack" (dans ton cas la taille recommandée est énorme, je ne le recommande pas)
ou bien changer la taille de tes variables locales (ou les mettre en globales)
amuse toi bien^^
++Sim++
-
La solution a ce problème n'est pas simple à trouver, il faut avoir lu la doc sur le compilateur PAWN (voir en fichier joint - je recommande la lecture partielle ou complète de ce document à tout bon scripteur SAMP même si ce document n'est pas directement lié à SAMP).
La seule façon d'augmenter la taille de la pile (et du tas) est de dire au compilateur de réservé plus de place en mémoire pour les variables.
Ceci peut être fait au moyen de la directive de compilation suivante :
#pragma dynamic <Taille> (page 121 du document joint).
La valeur de <Taille> correspond à la taille de la pile et du tas que l'on veut et doit être donnée en nombre de cellules (cells).
Dans ton cas, le compilateur t'indique qu'à l'exécution, ton script utilisera 4904 cellules au maximum (c'est une estimation qui ne prend pas en compte les fonctions récursives par exemple)
La valeur de <Taille> n'est limité que par la mémoire vive de la machine sur laquelle va tourner le serveur, donc même si ce n'est pas une machine dédié, on peut tout à fait mettre de grandes valeurs.
Pour info, le script Lalu's Stunt à une pile de 100 000 cellules (presque 400 Ko).
Ce qui est minime quand on sait que le moindre thread sous Windows a une pile de 1 Mo ...
++
Syg
-
merci pour le pdf syg je l'avait jamais vu encore ^^
-
Cool je m aider de ce pdf a mes debut en pawn pour connaitre mes erreur