[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problème avec tgamma()



Thu, 03 Mar 2005 18:38:15 +0100, Hervé Rouault a écrit :
> Je cherche à utiliser la fonction tgamma() en c. Malgré les informations
> des manpages debian, le prototype de la fonction n'est pas trouvé
> (contrairement à la fonction lgamma() ) :
> 
> Manpage :
> 
> SYNOPSIS
>         #include <math.h>
> 
>         double tgamma(double x);
> CONFORME À
>         C99.

          ^^^
          LÀ

>[...]
> Résultat de la compilation :
> 
> % gcc -Wall test.c -lm
> test.c: Dans la fonction « main »:
> test.c:7: attention : implicit declaration of function `tgamma'

Normal, tgamma est C99, il faut donc faire

gcc -Wall test.c -lm -std=c99

> test.c:7: attention : format double, arg type différent (arg 2)

Ici, c'est le printf : comme tgamma n'est pas connue, elle est considérée
comme renvoyant un int.

> J'espère que ma question n'est pas trop hors-sujet.

Si, complètement.

> A ce propos, est-ce
> que les headers standard sont communs à toutes les distributions linux?

Comment dire... les entêtes standard sont... euh... standard ?

Si les versions des bibliothèques sont les mêmes, les entêtes sont les
mêmes. De nos jours, on peut même dire que peu de fonctions sont ajoutées
ou modifiées entre deux versions successives (dans leur prototype et leur
comportement visible, la mise en œuvre pouvant varier).

-- 
Sylvain Sauvage



Reply to: