Pagina 1 di 1

[RISOLTO]Compilazione sorgente c

Inviato: mar 20 ott 2009, 11:08
da nicolix
Ciao vorrei sapere perchè questo programma si compila solo con g++ e non con cc??

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

int main() {
int contatore=1;
printf("Quadrati e cubi dei primi dieci interi, zero escluso\n");
while (contatore<=10) {
printf("%d\t%.0f\t%.0f\n", contatore, pow(contatore, 2), pow(contatore, 3));
contatore=contatore+1;
}
return 0;
}


Potrebbe essere un problema di versione??? ovvero ho 4.1.2 g++ e gcc

Re: Compilazione sorgente c

Inviato: mar 20 ott 2009, 11:28
da 414N
Non mi sembra che il codice contenga codice C++...
Che errore ti da con

Codice: Seleziona tutto

gcc file.c -o fileexe
?

Re: Compilazione sorgente c

Inviato: mar 20 ott 2009, 11:34
da targzeta
La compilazione va a buon fine, il problema riguarda il linking. La libreria matematica non fa parte della libreria standard e quindi va linkata specificatamente. Prova con:

Codice: Seleziona tutto

gcc -lm file.c
Il perchè invece g++ lo compili senza necessità del link esplicito non lo so, ma se guardi l'output verbose dei due comandi (con -v) ti accorgi che g++ ha anche un '-lm' quando invoca il linker (collect2) mentre gcc no.

Emanuele

Re: Compilazione sorgente c

Inviato: mar 20 ott 2009, 17:05
da nicolix
provo e vi dico....grazie per le risposte comunque utilizzo l'ansi c non il c++..ciao

Re: Compilazione sorgente c

Inviato: sab 24 ott 2009, 11:39
da nicolix
grazie metto risolto