Environement :
LYNX OS 4 (déolé pas, trouvé de meilleur forum)
langage C ansi
Salut tout le monde...
J'ai un petit problème que j'aurais tendance a qualifier de pointu... pour ne pas dire "bug de l'espace"
Voila:
J'ai une fonction qui a 6 parametres dont le prototype est le suivant:
En débuguant, je surveille les valeurs de mes parametres avant l'appel de la fonction et immédiatement à l'intérieur de celle ci. Avant d'entrer dans la fonction cela me donne ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int maFonction(double* E1, double* E2,double E3, double*E4,double*E5,double*E6);
et dans ma fonction, j'observe la bizarerie suivante. Les valeurs des paramètres ont changées et ma fonction est appelée ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 maFonction(&E1, &E2,valeurDeE3,&E4,&E5,&E6);
E4 a disparu et les paramètres suivants sont décalés!!!!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 maFonction(&E1, &E2,valeurDeE3,&E5,&E6,0x01);![]()
J'ai tout de suite pensé a une sorte de problème d'alignement mémoire et j'ai forcé l'alignement à 1 octet partout. Cela ne résoud pas mon pbm...
Autre fait troublant. Le "bug" ne se produit que sur palte-forme LYNX. Je ne le constante pas sur un LINUX.
J'ai réussi à le contourner en modifiant le prototype de ma fonction et en faisant en sorte de mettre tous les pointeurs en premier dans le prototype. Ca marche mais ce n'est pas une solution convainquante car la fonction qui pose problème se situe dans un fichier autocodé que je n'ai pas le droit de modifier..... C'est donc du temporaire...
Alors voila ou j'en suis. J'aimerais savoir si qq'un a déja constaté une telle bizarerie. Si il y a un dieux de la compilation sous LYNX OS 4 qu'il se manifeste svp pour m'indiquer la bonne option de compile qui pourra m'aider. Je ne pense pas en effet que le problème vienne du code en lui meme (car il est auto codé par un outil a priori fiable et il marche sous LINUX).
Merci d'avance pour l'aide à venir...![]()
Partager