PDA

View Full Version : [Visual C++] Concludere un progetto


swarm
13-02-2006, 11:47
Salve

una domanda stupida, ma fa capire quanto ignorante sia di visual c++.... :(

Una volta che si è concludo il programma che si vuole sviluppare, cosa si deve distribuire?

O meglio, cosa è necessario per far eseguire il programma?

Ad esempio, io ho sempre lavorato in modalità debug, basta che distribuisca la cartella debug? :fagiano:

71104
13-02-2006, 12:26
no, devi ricompilare in modalità Release, controllare che tutto funzioni in Release esattamente come in Debug, e distribuire tutto ciò che è di tua produzione più tutto ciò da cui ciò che è di tua produzione dipende e che non è automaticamente distribuito assieme al sistema operativo. le cartelle Debug e e Release contengono un sacco di files che non devi distribuire: pch (precompiled headers), object files (file oggetto non linkati generati per ciascun sorgente .c o .cpp), pbd (informazioni per il debug) e un po' di altra roba. al limite di ciò che sta nella cartella Debug o Release oltre all'immagine generata devi distribuire l'eventuale .ext o .lib generato nel caso in cui dalla tua immagine esporti simboli documentati (se non li vuoi documentare la libreria di importazione viene generata ugualmente ma non la devi distribuire).

riassumendo, tipicamente una cartella Debug o Release contiene una sola immagine eseguibile (exe, dll, ocx, sys, scr...) e devi distribuire solo quella, al limite con la libreria di importazione se esporti simboli documentati.

e mi raccomando controlla che tutto funzioni in Release esattamente come in Debug: certe volte uno per errore usa ASSERT al posto di VERIFY e in Release non funziona più niente; quando è successo a me ci ho perso un pomeriggio sano :fagiano:

swarm
15-02-2006, 12:43
garzie, avevo un problema di accesso violato alla memoria che compariva solo in release...

ho risolto dichiarando le variabili globali come static....

grazie!

PS: secondo te conviene concludere il progetto usando l'Install Shield?

andbin
15-02-2006, 13:02
PS: secondo te conviene concludere il progetto usando l'Install Shield?
Certo, sarebbe una buona cosa, specialmente se il tuo progetto usa DLL, font, file o componenti da registrare/installare nel sistema.
Comunque tieni presente che esiste anche l'ottimo e gratuito NSIS (http://nsis.sourceforge.net), oltre a Install Shield (che è $$ ;) ).

swarm
15-02-2006, 14:35
Certo, sarebbe una buona cosa, specialmente se il tuo progetto usa DLL, font, file o componenti da registrare/installare nel sistema.
Comunque tieni presente che esiste anche l'ottimo e gratuito NSIS (http://nsis.sourceforge.net), oltre a Install Shield (che è $$ ;) ).


grazie mille

ovviamente userei install shield all'università....

il mio programma in effetti usa una lib esterna (quindi mi servono il file .lib e il file .h) e delle immagini.

vedrò sto NSIS

magari allontanarmi da microsoft nn è una cattiva idea...

alexanderf
15-02-2006, 16:45
Salve ragazzi cio sto programmino che mi visualizza i numeri primipero no riesco a far visualizzare i suoi divisori esempio cio 3 e divisible solo con 3 oppure cio 4 e divisibile con 2 e 4
public class NumeriPrimi{
static int primo;
static int i;
public static String numeroPrimo(int primo){
if(primo==2){
return"è un numero primo";
}else if (primo==3){
return "è un numero primo";
}else if (primo==5){
return "è un numero primo";
}

if ((primo%2)==0) {

return"non è numero primo";
}else if ((primo%3)==0){
return"non è un numero primo";
}else if ((primo%5)==0){
return"non è un numero primo";
}
return"é un numero primo";

}

public static void main(String args[])
{
//NumeriPrimi primo = new NumeriPrimi();
String risposta=NumeriPrimi.numeroPrimo(3) System.out.println(risposta);
}
}

swarm
16-02-2006, 08:28
Salve ragazzi cio sto programmino che mi visualizza i numeri primipero no riesco a far visualizzare i suoi divisori esempio cio 3 e divisible solo con 3 oppure cio 4 e divisibile con 2 e 4
public class NumeriPrimi{
static int primo;
static int i;
public static String numeroPrimo(int primo){
if(primo==2){
return"è un numero primo";
}else if (primo==3){
return "è un numero primo";
}else if (primo==5){
return "è un numero primo";
}

if ((primo%2)==0) {

return"non è numero primo";
}else if ((primo%3)==0){
return"non è un numero primo";
}else if ((primo%5)==0){
return"non è un numero primo";
}
return"é un numero primo";

}

public static void main(String args[])
{
//NumeriPrimi primo = new NumeriPrimi();
String risposta=NumeriPrimi.numeroPrimo(3) System.out.println(risposta);
}
}


:confused: :confused:

perchè hai postato qui?

io nn sono molto bravo cn il c++, se vuoi un aiuto apri un nuovo thread....