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.
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 ?
Ressources proposées par 3DArchi - Les fonctions virtuelles en C++ - Cours et tutoriels C++ - FAQ C++ - Forum C++.
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 fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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![]()
Ok merci à tous, je vais essayer vos suggestions
Partager