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







Répondre avec citation












Partager