OVH Cloud OVH Cloud

Problème avec tgamma()

1 réponse
Avatar
Hervé Rouault
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig194C40F6ADA7CE85FC019462
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

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.

Source du programma :

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

int main()
{
printf("%f\n", tgamma(2.0));

return 0;
}


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'
test.c:7: attention : format double, arg type différent (arg 2)


J'espère que ma question n'est pas trop hors-sujet. A ce propos, est-ce
que les headers standard sont communs à toutes les distributions linux?

Merci d'avance
--
Hervé

--------------enig194C40F6ADA7CE85FC019462
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCJ0uMrXTjNRKrAEYRAoBpAJ9EUu6HipQa/lVolZsWva1nDShZZgCfZ5ZL
05tTYmAelWQKtMGBNzYrRyc=
=szVY
-----END PGP SIGNATURE-----

--------------enig194C40F6ADA7CE85FC019462--


--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench

Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

1 réponse

Avatar
Sylvain Sauvage
Thu, 03 Mar 2005 18:38:15 +0100, Hervé Rouault a écrit :
Je cherche à utiliser la fonction tgamma() en c. Malgré les informati ons
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.



^^^


[...]
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É9

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