Bonjour,
je compile sous gcc4.4.1 sous windows et linux et je me demande pourquoi alors que sous linux avec la lib 'cmath' je peux utiliser la fonction "sincos(double x,double *S,double *C)", je ne peux pas la trouver sous windows.
Version imprimable
Bonjour,
je compile sous gcc4.4.1 sous windows et linux et je me demande pourquoi alors que sous linux avec la lib 'cmath' je peux utiliser la fonction "sincos(double x,double *S,double *C)", je ne peux pas la trouver sous windows.
Salut,
Il me semble que c'est une extension GNU. Elle n'est peut être pas intégrée dans Mingw ?
Oui visiblement tu as raison, alors j'essaye quelquechose comme ca mais visiblement le code y passe dans les 2 cas.
Je ne sais pas trop comment détecter la présence ou non de cette fonctionCode:
1
2
3
4 #if !defined(sincos) && !defined(_sincos) && !defined(__sincos) void inline sincos(double x,double *S,double *C) { *C=cos(x); *S=sin(x); } #endif
Cela m'étonne que la compilation passe sous linux en -pedantic >< ! Sinon, regarde si tu es en C standard ou non.
Je n'ai pas saisi ta remarque, peux-tu préciser, stp
Ben, a mon avis, il ne devrait pas y avoir de fonction sincos en c++ standard. Donc regarde avec la valeur de _cplusplus.
Salut,
Si ton but est d'utiliser l'instruction CPU fsincos, sache que pas mal de compilo sont capable de la sortir au bon moment avec les options de compilation qui vont bien, même si tu utilise les fonction sin et cos séparément.
Tu peux regarder le code compilé pour voir ce qu'il en est. J'avais été surpris de voir que les compilos faisaient cette optimisation, mais ils le font :ccool:
Ok merci à tous, je vais essayer vos suggestions