glug: Pow in C errore di compilazione

Paolo Gianrossi paolino@yersinia.org
Gio 9 Dic 2004 20:54:28 CET


Takke wrote:

> Ciao a tutti,
> ho un problema nella compilazione di un file in C.
> Lo scopo del programmino è dimostrare il secondo limite notevole
> ( lim per x->infinito di (1 + 1/x)^x = e) e consiste nel far crescere 
> x con cicli for e stamapre il valore e la differenza del valora con e 
> assunto a un certo valore.
>
> il codice è questo:
>
>
>
> #include <stdio.h>
> #include <math.h>
>
> int main()
> {
>    double e=2.718281828, y;
>    int x;
>    for(x=5000;x<=10000;x+=100){
>        y=1+1/x;
>        y = pow(y,x);
>        printf("%f \t" , y);
>        printf("%f \n" , e-y);
>          }
>
> }
>
> pero se compilo il file mi da il seguente errore:
>
> andrea@takke:~$ gcc -Wall /media/hd/andrea/linux/programmazione/e.c -o e
> /media/hd/andrea/linux/programmazione/e.c: In function `main':
> /media/hd/andrea/linux/programmazione/e.c:42: warning: control reaches 
> end of non-void function
> /tmp/ccQEDyM8.o(.text+0x5e): In function `main':
> : undefined reference to `pow'
> collect2: ld returned 1 exit status
>
> il che per me è come parlare arabo...quando io so a stento un po' di 
> genovese.
>
> Qualcuno ha voglia di dirmi cosa significa ed eventualmente come posso 
> risolvere?
>
significa che non hai linkato le librerie matematiche... Se usi math.h, 
devi compilare con -lm
(tipo: gcc -Wall -lm e.c -o e )

>
> Grazie
>
prego
paolino



Maggiori informazioni sulla lista glug