PDA

View Full Version : [C] problema compilazione


bmp
18-09-2010, 20:19
Ciao a tutti,
ho un problema con la compilazione di un programma.

Ho fatto un progetto in Visual Studio C++, l'ho compilato e mi crea l'eseguibile correttamente.
Poi ho compilato usando il comando gcc, da riga di comando, mi crea l'eseguibile, però per ingressi uguali, mentre il primo eseguibile funziona, il secondo si blocca.

Qualcuno saprebbe spiegarmi il motivo, visto che i file sono gli stessi?

Grazie.

Unrealizer
19-09-2010, 13:41
perchè usare gcc se l'hai già compilato con visual studio?

bmp
19-09-2010, 15:58
Grazie per la risposta!
Perchè si tratta di un progetto per un esame, ed è richiesto di compilarlo con gcc.
Ma non dovrebbe dare lo stesso risultato?

tuccio`
19-09-2010, 16:05
ma compila ma ti dà qualche problema in esecuzione? immagino che tu abbia già provato a vedere dove si blocca con gdb

bmp
19-09-2010, 16:09
Praticamente rimane bloccato perchè entra in un ciclo infinito.
Solo che se uso l'eseguibile ottenuto con Visual Studio, con gli stessi dati, il ciclo termina.
Non legge correttamente i valori da passare a una funzione, ma non so come risolvere il problema.

Non ho usato gdb, ma ho comunque verificato i valori delle varibili, tramite delle printf.

wingman87
19-09-2010, 18:51
Posta il codice (usando il tag CODE)

bmp
19-09-2010, 19:55
La funzione è questa:

void calcola(int n, int *id, int* pos, elementi *el, tree *r){
int a;
tree *p;
for(a=0; a<n; a++){
p = find(r,id[a]);
if (p == NULL){
printf("Errore!");
return;
}
else{
el = insert(el, p, pos[a]);
}}

Con il gcc non legge correttamente i valori presenti nel puntatore pos, quindi poi si blocca.