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.
Absolut
Linux 4.x
Messaggi: 1465 Iscritto il: gio 10 feb 2005, 0:00
Slackware: current
Località: Roma
Messaggio
da Absolut » mar 1 set 2009, 8:23
Salve ragazzi,
ho una domanda circa la compilazione di alcuni file. Questi dovrebbero essere stati scritti in C++. L'autore che gentilmente me li ha inviati mi ha scritto:
The files main (.cpp), network(.h,.cpp) and LinkList(.h) need to be compiled and linked together.
come devo procedere esattamente!?
vi ringrazio!
mcosta
Linux 0.x
Messaggi: 54 Iscritto il: mar 15 giu 2004, 0:00
Nome Cognome: Massimo Costa
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: KDE 4.2.4
Località: Marano (NA)
Messaggio
da mcosta » mar 1 set 2009, 9:08
Prova con
che, a meno di errori di compilazione, dovrebbe generare l'eseguibile "my_program"
Absolut
Linux 4.x
Messaggi: 1465 Iscritto il: gio 10 feb 2005, 0:00
Slackware: current
Località: Roma
Messaggio
da Absolut » mar 1 set 2009, 18:41
ok grazie!!
mi accorgo di una cosa: quando poi lancio l'eseguibile ho un problema di
*** stack smashing detected ***
se metto in fase di compilazione:
-fno-stack-protector
non ce l'ho.
è una cosa corretta secondo voi!?
grazie!
Absolut
Linux 4.x
Messaggi: 1465 Iscritto il: gio 10 feb 2005, 0:00
Slackware: current
Località: Roma
Messaggio
da Absolut » mer 2 set 2009, 19:38
scusate ragazzi, l'autore di un codice C++ mi ha mandato i sorgenti.
e mi dice:
The files main (.cpp), network(.h,.cpp) and LinkList(.h) need to be
compiled and linked together.
come devo procedere alal compilazione!?
g++ ........!?!?!
metto solo i cpp o anche i .h!?
grazie!
mcosta
Linux 0.x
Messaggi: 54 Iscritto il: mar 15 giu 2004, 0:00
Nome Cognome: Massimo Costa
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: KDE 4.2.4
Località: Marano (NA)
Messaggio
da mcosta » mer 2 set 2009, 20:12
Absolut ha scritto:
g++ ........!?!?!
metto solo i cpp o anche i .h!?
Devi compilare i soli *.cpp. (Se il codice è scritto rispettando le regole fondamentali).
Absolut
Linux 4.x
Messaggi: 1465 Iscritto il: gio 10 feb 2005, 0:00
Slackware: current
Località: Roma
Messaggio
da Absolut » mer 2 set 2009, 22:39
Ok... credo di avere un problema!
il codice viene lanciato con un comanto
./prova nomefile.fat opzioni
Se come nome file metto il file che ho per testare il programma, ok, legge quello che c'è scritto direttamente.
Se però creo un file txt e poi lo rinomino in .dat e glielo faccio leggere, allora non legge bene le cose!
come mai!?
thanks!
mcosta
Linux 0.x
Messaggi: 54 Iscritto il: mar 15 giu 2004, 0:00
Nome Cognome: Massimo Costa
Slackware: 13.0
Kernel: 2.6.29.6
Desktop: KDE 4.2.4
Località: Marano (NA)
Messaggio
da mcosta » gio 3 set 2009, 9:29
Una domanda semplice: "Quanto ne sai di C++?"
Il problema sembra a questo punto nella logica dell'applicazione e quindi per trovare la risposta alla tua domanda dovresti studiarti il codice.
Se si tratta di un software di analisi testo potrebbe essere legato alla codifica del ritorno a capo.
Absolut
Linux 4.x
Messaggi: 1465 Iscritto il: gio 10 feb 2005, 0:00
Slackware: current
Località: Roma
Messaggio
da Absolut » gio 3 set 2009, 19:45
Ok.. pian piano risolvo!
Ora ho un problema nel printare l'output su un file:
il codice presente non funziona:
void Network::generatePathFile()
{
//To output the paths into a separate file
ofstream PathFile("paths.dat",ios::app);
//Writing Paths into a File
for (int i=0; i<nNumDemands; i++)
{
cout << "(" << nDemandList.nSrc << ", " << nDemandList.nDest << ")" << " >";
nDemandList.nNominalPathPool->print();
}
cout <<"*******************************************************************************"<<endl;
PathFile.close();
}
cosa non va secondo voi!?
il file path.dat lo crea ma è vuoto
Absolut
Linux 4.x
Messaggi: 1465 Iscritto il: gio 10 feb 2005, 0:00
Slackware: current
Località: Roma
Messaggio
da Absolut » gio 3 set 2009, 19:53
ok in un altro file sorgente ho trovato questa struttura:
Codice: Seleziona tutto
void print(ofstream & out, int j)
{
struct node* temp = this->head;
if( j <= this->size)
{
while( j!= 1)
{
temp=temp->next;
j--;
}
out << "Paths " << temp->path->nId << " : ( Cost : " << temp->path->fCost << ") - ( with flow " <<temp->path->xval <<" )";
for(int i=0; i<temp->path->nNumEdges; i++)
out << temp->path->nEdgeList[i] << " ";
out << "} " << endl;
}
}
Absolut
Linux 4.x
Messaggi: 1465 Iscritto il: gio 10 feb 2005, 0:00
Slackware: current
Località: Roma
Messaggio
da Absolut » gio 3 set 2009, 21:57
c'è anche questa struttura.
Codice: Seleziona tutto
void print()
{
struct node* temp = this->head;
cout<<" Paths :[ ";
while(temp != NULL)
{
cout << "(" << temp->path->fCost << "): {";
for(int i=0; i<temp->path->nNumEdges; i++)
cout << temp->path->nEdgeList[i] << " ";
cout << "}, "<<endl;
temp=temp->next;
}
cout<<" ]"<<endl;
}
Se lascio nel codice solo print()
stampa le cose a video, ma non nel file.
per questo credo si debba usare print(ofstream & out, int j)
ma non so come si usa!?
please help me!
thanks!