View Full Version : [C/C++] Quando C fa a pugni con C++?
sottovento
31-10-2006, 14:00
Scusate la domanda strana.
Sto cercando di far funzionare l'applicazione del mio cliente, il quale mischia tecniche di programmazione tipiche di C con quelle di C++.
Con la piattaforma in uso (Visual Studio) mi sono accorto che occorre prestare molta attenzione, poiche' si rischiano grossi guai. Ho isolato alcuni di questi problemi.
Qualcuno ha una lista di tutti i possibili problemi, o puo' aiutarmi a isolarne il piu' possibile?
Grazie a tutti
Sottovento
http://david.tribble.com/text/cdiffs.htm
sottovento
01-11-2006, 14:36
http://david.tribble.com/text/cdiffs.htm
Interessantissimo, grazie. Non so proprio come abbia fatto a trovarlo.
Mi permetto di formulare un'altra domanda, legata ancora a questa: si riesce a trovare una checklist o qualcosa del genere (qualcosa di pratico, insomma) da seguire per risolvere i problemi di incompatibilita'?
Mi spiego: l'applicazione in esame e' basata su di un framework sviluppato anni fa in C. I vari componenti, piu' recenti, sono scritti in C++.
Facendo INTENSE sessioni di debug (il software e' davvero di grandi dimensioni) mi sono accorto di cose veramente strane.
Per esempio:
void f()
{
Studente st;
try
{
<codice di esempio, con chiamate al framework scritto in C>
}
catch (...)
{
}
printf ("Qui dovrebbe continuare la mia esecuzione\n");
}
Ecco, la scritta "Qui dovrebbe continuare la mia esecuzione" non e' detto che appaia, cosi' come non e' detto che vengano chiamati i distruttori nel caso si dichiari un oggetto locale e si esca dalla funzione.
In pratica, mi resterebbe lo studente in braghe di tela :), soprattutto se nel costruttore apre un file o alloca memoria e si aspetta che il distruttore chiuda e liberi.
Dipende da cosa fa il framework C. (I "salti lunghi" (longjmp) per esempio, mi sembra che se ne freghino dei distruttori, cosi' come le signal() e compagnia bella).
Scusate la domanda piu' che strana, ma ho questa benedetta applicazione che mi sta facendo impazzire! :muro:
Grazie a tutti
Sottovento
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.