[RISOLTO]Compilazione sorgente c

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
nicolix
Linux 2.0
Linux 2.0
Messaggi: 163
Iscritto il: lun mar 09, 2009 6:07
Nome Cognome: nicolò
Slackware: 13
Kernel: 2.6.29.6-smp
Desktop: kde
Distribuzione: slackware
Contatta:

[RISOLTO]Compilazione sorgente c

Messaggioda nicolix » mar ott 20, 2009 11:08

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
Ultima modifica di nicolix il sab ott 24, 2009 11:39, modificato 1 volta in totale.

Avatar utente
414N
Iper Master
Iper Master
Messaggi: 2893
Iscritto il: mer feb 13, 2008 16:19
Slackware: current
Kernel: 3.14.23
Desktop: KDE4
Località: Bulagna
Contatta:

Re: Compilazione sorgente c

Messaggioda 414N » mar ott 20, 2009 11:28

Non mi sembra che il codice contenga codice C++...
Che errore ti da con

Codice: Seleziona tutto

gcc file.c -o fileexe
?

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6357
Iscritto il: gio nov 03, 2005 14:05
Nome Cognome: Emanuele Tomasi
Slackware: current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Compilazione sorgente c

Messaggioda targzeta » mar ott 20, 2009 11:34

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
Linux Registered User #454438
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama
20/04/2013 - Io volevo Rodotà 

Avatar utente
nicolix
Linux 2.0
Linux 2.0
Messaggi: 163
Iscritto il: lun mar 09, 2009 6:07
Nome Cognome: nicolò
Slackware: 13
Kernel: 2.6.29.6-smp
Desktop: kde
Distribuzione: slackware
Contatta:

Re: Compilazione sorgente c

Messaggioda nicolix » mar ott 20, 2009 17:05

provo e vi dico....grazie per le risposte comunque utilizzo l'ansi c non il c++..ciao

Avatar utente
nicolix
Linux 2.0
Linux 2.0
Messaggi: 163
Iscritto il: lun mar 09, 2009 6:07
Nome Cognome: nicolò
Slackware: 13
Kernel: 2.6.29.6-smp
Desktop: kde
Distribuzione: slackware
Contatta:

Re: Compilazione sorgente c

Messaggioda nicolix » sab ott 24, 2009 11:39

grazie metto risolto


Torna a “Programmazione”

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite