Kurt Le 06/09/2001 à 21:49 J'ai un problème bizard :
Je mais ce tableau de caractères dans la fonction "_main" de mon programme, y'a pas de problème :
***
char savplan [(4+128*240/8)];
***
Mais si je met la même chose dans la fonction x de ma librairie, ca me sort ILLEGAL INSTRUCTION lors de l'appel de cette fonction x! (Aucuns warning lors de la compilation)
Si je réduis le tableau en mettant ca, ca marche :
***
char savplan [(4+12*240/8)];
***
Et je préciste que y'a presque pas de RAM utilisé.
D'où viens ce problème?
Merci car là, j'en perd mon latin ...
Si savplan est déclaré de cette manière, c'est alloué sur la pile, qui est limitée à 16 KO en tout sans compter la partie utilisée par AMS.
quand tu lances un programme la calc n'est pas en general train de faire un calcul ou un affichage de boite de dialogue ou menu klkonke et la pile est pratiquement vide !

pwet
Kurt Le 06/09/2001 à 21:49 Je précise que je ne fais que la déclarer!!
Je ne fais même pas appel à savplan.
Kelso Le 06/09/2001 à 21:49 packe y'a une différence entre la déclaration dans main et dans les autres fonctions?
je pensais que ct pareil.
de tt façon si ça marche pas utilises un pointeur de type char et un malloc de la même taille
the car's on fire and there's no driver at the wheel
and the sewers are all muddied with a thousand lonely suicides
and a dark wind blows
GYBE! Dead Flag Blue
La différence est que dans une librairie (qu'elle soit statique ou dynamique, voire une sous-fonction dans le programme principal lui-même), il y a déjà une plus ou moins grande partie de la pile prise par le programme principal.