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