Bonjour,
Sous Centos 7.2, 64 bits, j'ai un problème curieux avec un float passé par valeur qui échoue dans une routine si elle est dans une unité de compilation extérieure et fonctionne si tout est dans le code.
Exemple ci-dessous :
- dans test.c, csub2 et csub3 sont dans le même code source, la valeur de float lors de l'appel à csub2 via csub3 est correcte (gcc -o test test.c)
- dans ctests.c, qui ne contient que le prototype, la valeur du float lors de l'appel à csub2 via csub3 est incorrecte (gcc -o ctests ctests.c csub2.c csub3.c)
Pourtant, j'ai copié/collé csub2 et csub3 dans le source de test.c!
Ai-je manqué quelque chose ?
J'ai mis les petits tests en pièce jointe.
Merci pour l'aide,
Alain
Partager