Newsgroup: it.comp.programmare.win32
Titolo: Passaggio da Dev-cpp a Visual Studio (lunghetto)

Ciao a tutti...
Da poco ho la possibilità di usare Visual Studio 7,
così ho provato a migrare un mio programma da devcpp all'ambiente Microsoft
(non sono affato un programmatore: faccio qualcosina a tempo perso).
Questo passaggio però non è stato indolore, anzi!
è stato un problema far compilare il tutto:
diciamo che VS è molto più pignolo,
ma questo credo che possa solo giovare alla qualità del programma.
Devo ancora capire a cosa serve il file stdafx.h,
come funzionano i pragma comment, ma mi arrangerò...
La cosa più strana è invece la differenza sull'eseguibile e la sua 
esecuzione:
innanzitutto la dimensione è molto inferiore:
252KB contro i 980KB di devcpp.
Ma poi ciò che più da fastidio è il fatto che non tutto funziona bene:
ricevo un sacco di errori, il programma va in crash, etc...
A questo punto ho iniziato ad apprezzare il debug di VS,
decisamente migliore e soprattutto più affidabile dell'altro.
Dopo un po' di debug ho rilevato alcuni errori
su dimensioni di variabili, etc, ma altri non riesco proprio a risolverli.
Ad esempio, quando vado a chiudere un HANDLE ad un processo
(mi serve per prenderne memoria, etc) con un banale CloseHandle( hProcess ); 
becco un bell'errore!
Usando il try-catch, con un GetLastError() ricevo l'errore 299:
Richiesta ReadProcessMemory o WriteProcessMemory completata solo 
parzialmente.
VS invece dice:
Unhandled exception at 0x7c91eb74 in Eseguibile.exe: 0xC0000008: Handle 
specificato non valido.
Per farfunzionare il tutto, ho dovuto commentare quell'istruzione.
La cosa più curiosa, è che se clicco su "Breack",
il cursore va a piazzarsi nel file sprintf.c,
all'istruzione "retval = _output(outfile,format,arglist);"
Ma cosa c'entra sprintf che è stato usato due istruzioni prima?
.......
else {
sprintf(tmp, "%-30s %-5u %-8d KB %-10s\r\n",
szProcessName, processID , pmc.WorkingSetSize/1024,status);
strcat(res,tmp);
}
CloseHandle( hProcess );
-----------
Qualcuno può gentilmente darmi una mano?
O almeno indirizzarmi verso una soluzione..
Secondo voi, avendolo a disposizione, è meglio usare Visual Studio?
Mille grazie per l'attenzione.
bye ;-) 

Siccome nessuno mi risponde, provo a chiederlo a te.
Il Visual Studio .Net che stai utilizzandi è in italiano ??
Ha l'Help in Italiano.
E soprattutto quando hai installato l'help ti ha dato errori ?
Grazie 

Per farfunzionare il tutto, ho dovuto commentare quell'istruzione.
Non è che usi l'handle sbagliato, magari quello di thread?
Secondo me in questi casi devi andare di programma giocattolo, che
fanno solo il minimo indispensabile per causare il crash.
-- 
sito Papero 2 (database):       
http://user.7host.com/papero/
sito Papero 3 (passatempi):     
http://digilander.iol.it/davidequack


Non so se sia una coincidenza, o altro,
ma ho aggiunto una variabile che si prende il return del CloseHandle, e
tutto funziona bene.
La cosa mi lascia un po' perplesso, perchč, come ho scritto, trovo molte
differenze di runtime
tra il compilato di dev-cpp e quello di visual studio...
In ogni caso grazie per l'interessamento.
bye ;-)


di niente ;-)

 252KB contro i 980KB di devcpp.
Anche usando nel Dev-Cpp la linker option -s ?
Io, utilizzando il Dev-Cpp e il MSVC++ Toolkit 2003 (una versione ridotta 
(senza MFC,ATL,ecc.) command line del compilatore del Visual C++ 7.1), 
generalmente non trovo differenze così grandi. 

 ha scritto nel messaggio
news:4210f1a3$0$6320$5fc...@news.tiscali.it...

Ho tolto le informazioni di debug con dev-cpp: 184KB...
Sicuramente ci sono tante cose che posso ottimizzare: mi dovrò fare una
cultura.
Consigli in merito?
Sicuramente non abboando del tutto dev-cpp.
L'unica cosa che davvero mi scoraggia nell'utilizzarlo è il fatto che spesso
il debug si pianta:
occupa tutta la cpu e sono costretto a chiudere stoppare,chiudere e riaprire
tutto..
Mille grazie.
bye ;-)