Bonjour, j'ai peur de poser une question un peu bête, mais j'aimerais en avoir le coeur net : est-ce que si je fais un calcul dans un #define, sera-t-il sera effectué lors de la compilation ? Je m'explique, je désire faire la chose suivante :
dans lors de la compilation, dès qu'il y a un SQRT2 ou un CST1, l'expression sera remplacée par sqrt(2.) et par -3./sqrt(2.). Mais dois-je plutôt écrire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #define SQRT2 sqrt(2.) #define CST1 -3./SQRT2
pour être sûr que le code remplacé contiendra les valeurs numériques et non le calcul à refaire à chaque fois ? Je pense que les compilo doivent être suffisament développés pour faire cette optimisation tout seul (dois-je rajouter des options ?) mais j'aimerais en avoir le coeur net.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #define SQRT2 1.414213562373095 #define CST1 -2.121320343559642 /* -3/sqrt(2.) */
Autre question, d'un point de vu lisibilité, que vaut-il mieux faire : faire un fichie defines.h qui contient tous mes #define et que j'inclus donc dans chaque fichier source ou bien n'écrie que les #define correspondants à chaque fichier source ?
Merci.
Partager