Pagina 1 di 1

Compilazione C++

Inviato: mar 1 set 2009, 8:23
da Absolut
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!

Re: Compilazione C++

Inviato: mar 1 set 2009, 9:08
da mcosta
Prova con

Codice: Seleziona tutto

g++ -o my_program main.cpp network.cpp
che, a meno di errori di compilazione, dovrebbe generare l'eseguibile "my_program"

Re: Compilazione C++

Inviato: mar 1 set 2009, 18:41
da Absolut
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!

Re: Compilazione C++

Inviato: mer 2 set 2009, 19:38
da Absolut
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!

Re: Compilazione C++

Inviato: mer 2 set 2009, 20:12
da mcosta
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).

Re: Compilazione C++

Inviato: mer 2 set 2009, 22:39
da Absolut
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!

Re: Compilazione C++

Inviato: gio 3 set 2009, 9:29
da mcosta
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.

Re: Compilazione C++

Inviato: gio 3 set 2009, 19:45
da Absolut
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

Re: Compilazione C++

Inviato: gio 3 set 2009, 19:53
da Absolut
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;
		}	
	}

Re: Compilazione C++

Inviato: gio 3 set 2009, 21:57
da Absolut
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!