/tmp/ccCg8Hvm.o: In function `planck': plantes.c:(.text+0x59): u

Fermé
boleyn.c Messages postés 1 Date d'inscription lundi 24 novembre 2014 Statut Membre Dernière intervention 24 novembre 2014 - Modifié par Whismeril le 25/11/2014 à 06:57
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 26 nov. 2014 à 11:40
Bonjour,
S'il vous plait quant je compile le programme (sur mon mac desktop à la maison )suivant il ne marche pas et je ne sais pas ce
passe: MERCI

#include <stdio.h>
 #include <stdlib.h>
 #include <tgmath.h> // fonctions generiques
 #include <float.h>
 /* standard c99 pour sqrtf expf et fabsf */

 float planck(float x); /* déclaration */

 float planck(float x){
 float y;
 if(fabs(x) > sqrt(FLT_EPSILON)) {
 // appelle fabsf et sqrtf grace a tgmath.h
 y = x*x*x / (exp(x) - 1.f);
 }
 else{
 y = x * x ;
 }
 return y;
 }

 int main(void){
 int n, i;
 float x, xmin, xmax, dx ;
 float y ;
 xmin = 0.f;
 xmax = 10.f;
 dx = .5f;
 n = 1 + (int) ((xmax - xmin) / dx) ;
 for (i =1; i<= n; i++){
 x = xmin + (i -1) * dx ;
 y = planck(x) ;
 printf("%g %g\n", x, y);
 }
 exit(EXIT_SUCCESS) ;
}

EDIT: Ajout de la coloration syntaxique.

1 réponse

[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 1 096
Modifié par [Dal] le 26/11/2014 à 11:41
Salut boleyn.c,

"quant je compile le programme (sur mon mac desktop à la maison )suivant il ne marche pas et je ne sais pas ce passe"

On ne peut pas dire que tu sois précis. En particulier, tu ne dis pas si ton problème est une erreur renvoyée par le compilateur et si oui, laquelle, une erreur renvoyée par le linker, et si oui laquelle, ou une erreur à l'exécution, et si oui, laquelle.

Alors, je vais jouer aux devinettes et supposer que c'est une erreur produite par le linker (note que je n'ai pas regardé ton code, juste tenté de le compiler et de l'exécuter.

Dans un système POSIX, tgmath.h donne accès à des macros facilitant certaines opérations mathématiques.

https://pubs.opengroup.org/onlinepubs/009695399/basedefs/tgmath.h.html

Comme l'indique la documentation de <tgmath.h>, cet entête inclue les entêtes <math.h> et <complex.h>.

Pour compiler avec gcc un programme utilisant cet entête, tu dois passer -lm au linker pour lui dire de lier l'exécutable à la bibliothèque math (libm).

Si ton problème est autre, expliques toi mieux, et peut-être que moi ou une autre personne du forum pourront t'aider.


Dal
0