Thread obsoleto Quale compilatore C++ ritenete più rigoroso?

gedamial

Utente Senior
Autore del topic
9 Giugno 2010
1.937
69
Miglior risposta
0
Salve.

E' una domanda che pongo a molti di voi che programmate in C++

Secondo le vostre esperienze, quale compilatore ritenete il più valido, tosto e rigoroso?
Naturalmente, non esiste il MIGLIOR COMPILATORE, è risaputo.

Con la mia esperienza non faccio altro che notare, e un po' mi rincresce, che il più faccia tosta dei compilatori sia il Microsoft Visual C++

Molto spesso mi è capitato di scrivere codice su GCC per poi ritrovarmi un po' di errori usando il Visual C++.
Beh è ovvio, son due compilatori diversi... ma credo che questo di casa Microsoft sia un tantino superiore.

Con GCC, una volta mi capitò di usare un puntatore ad oggetto senza inizializzarlo... e il programma funzionava.
Visual C++ invece subito notò questa mancanza di attenzione nel codice e me lo segnalò.

All'inizio dicevo "mi rincresce" perché purtroppo un compilatore come Visual C++ non lo trovi sulle altre piattaforme, dato che è solo Microsoft...

Voi cosa dite?
 
Normalmente uso GCC e non ho avuto mai particolari problemi... il problema che hai avuto con i puntatori dipende più da C che dal compilatore stesso (che comunque un Warning dovrebbe dartelo); C non è type safe, di conseguenza ti lascia fare quasi tutto quello che vuoi con i puntatori.
Anche il compilatore Visual C++ può essere facilmente ingannato se fai per esempio una dereferenziazione a null di questo tipo
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
o addirittura un casting di un int a int* se lo fa andare bene
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Il valore aggiunto di Visual C++ secondo me è quello di avere intorno un IDE ottimo come Visual Studio.
 
Normalmente uso GCC e non ho avuto mai particolari problemi... il problema che hai avuto con i puntatori dipende più da C che dal compilatore stesso (che comunque un Warning dovrebbe dartelo); C non è type safe, di conseguenza ti lascia fare quasi tutto quello che vuoi con i puntatori.
Anche il compilatore Visual C++ può essere facilmente ingannato se fai per esempio una dereferenziazione a null di questo tipo
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
o addirittura un casting di un int a int* se lo fa andare bene
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Il valore aggiunto di Visual C++ secondo me è quello di avere intorno un IDE ottimo come Visual Studio.
Come non quotare. E comunque gcc non è malaccio, le cose brutte succedono con Dev-C++ e simili. xD
 
Normalmente uso GCC e non ho avuto mai particolari problemi... il problema che hai avuto con i puntatori dipende più da C che dal compilatore stesso (che comunque un Warning dovrebbe dartelo); C non è type safe, di conseguenza ti lascia fare quasi tutto quello che vuoi con i puntatori.
Anche il compilatore Visual C++ può essere facilmente ingannato se fai per esempio una dereferenziazione a null di questo tipo
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
o addirittura un casting di un int a int* se lo fa andare bene
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Il valore aggiunto di Visual C++ secondo me è quello di avere intorno un IDE ottimo come Visual Studio.

D'accordo, però ora apri Visual Studio e CodeBlocks e con i due compilatori differenti fai il build and run di questo programma:

HTML:
Perfavore, Entra oppure Registrati per vedere i codici!

Visual Studio mi dice:
Il GCC invece lascia andare tutto liscio...

Una cosa simile mi capitò con le liste concatenate qualche mese fa... GCC tutto liscio, vado su Visual C++ (si, cambiare compilatore è una cosa che faccio spesso) e iniziano i problemi.
Problemi che, secondo me, VANNO segnalati... altrimenti il programmatore si porta dietro una dimenticanza per sempre...
 
Ultima modifica: