« Programmation C/Mathématiques » : différence entre les versions

Contenu supprimé Contenu ajouté
Tpierron (discussion | contributions)
mAucun résumé des modifications
Ligne 1 :
{{Programmation C}}
 
Pour pouvoir utiliser les fonctions mathématiques, il faut non seulement utiliser le fichier d'entêtes ''math'' ainsi que ''errno.h''. Ce dernier contient les codes d'erreurs retournés via la variable globale ''errno'' lorsqu'un des arguments passés est invalide :
<pre>
#include <math.h>
</pre>
mais aussi ajouter l'option <code>-lm</code> lors de la compilation (ou plus précisement lors de l'édition des liens).
 
La gestion portable des erreurs est encore un grief à porter au casier déjà bien lourd du langage C. Dans le cas où la détection d'erreur est critique, voici la marche à suivre pour détecter qu'une fonction mathématique a échoué :
# Positionner la variable <code>errno</code> à 0.
# Appeler la fonction mathématique.
# Vérifier que <code>errno</code> vaut toujours 0.
 
En effet, dans la plupart des cas, ces fonctions ne positionne cette variable qu'en cas d'erreur, laissant la valeur inchangée en cas de succès. Il ne faudrait donc s'assurer qu'une valeur différente de 0, est bien le résultat du dernier appel et non d'un autre ultérieur. La pénibilité est surtout du au fait que les fonctions mathématiques ne renvoient pas de code d'erreur, contrairement aux autres fonctions utilisant aussi ''errno'' pour signaler la raison de l'erreur.
 
==Exponentiations==