Bonjour,
Dans un environnement de compilation qui fonctionne depuis des années, il m'arrive un problème curieux:
- Step 1: J'ai un projet C utilisant des library qui compile et qui fonctionne très bien.
- Step 2: Si je déclare une variable supplémentaire dans un fichier, le projet C compile et fonctionne très bien.
- Step 3: Si j'affecte cette variable, alors le projet C compile, mais ne fonctionne pas.
En y regardant de plus près, j'ai trouvé qu'il y avait une désynchronisation entre les étiquettes des fonctions incluent dans la library et les instructions associées.
Voici une illustration des step 1 et 2:
Disons qu'il existe une fonction convert_int() définie dans la lib, en regardant ses instructions en assembleur je trouve:
Voici une illustration du step 3:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 convert_int: instruction 1 instruction 2 instruction 3 instruction 4 instruction 5 [...]
Mon programme plante lorsque la première fonction de la library est appelée, car il manque des instructions !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 instruction 1 instruction 2 convert_int: instruction 3 instruction 4 instruction 5 [...]
Avez-vous déjà été confronté à un problème similaire ?
Pour une raison que j'ignore, l'affectation de ma variable doit avoir une influence sur le link de ma lib.
Si vous avez des pistes je suis preneur.
Merci,
Bat
Partager