2010-04-05 1 views

risposta

15

-fsyntax-only per GCC, probabilmente dovrebbe funzionare anche per Clang poiché emulano le opzioni della riga di comando di GCC. Indipendentemente dal fatto che sia significativamente più veloce, dovrai tempo.

+0

Il problema di velocità è in realtà il tempo impiegato per l'I/O di lettura sorgente, il controllo della sintassi, la quantità di tempo di compilazione e il tempo di esecuzione dell'I/O di output dell'oggetto. Sospetto che con una quantità sufficiente di sorgenti, l'I/O di lettura possa essere una porzione ampia e vedrete un guadagno minimo dal solo controllo della sintassi. –

+1

@Mark: Nella mia esperienza il caching dell'output compilato con ccache ha avuto quasi sempre un senso. E non dimenticare che C++ potrebbe anche includere template che possono far salire alle stelle i tempi di compilazione. –

+0

Nota che in g ++, questo solo analizza il codice e non crea un'istanza, quindi puoi perdere molti errori. clang ++ si ferma dopo l'istanziazione, che può richiedere più tempo ma è più utile. Inoltre, alcuni degli avvertimenti g ++ vengono prodotti durante la fase di ottimizzazione del codice, quindi ti mancheranno anche quelli. –

0

Forse cppcheck è un'opzione per voi? Non so esattamente quale risultato desideri. cppcheck non è un controllo di pura sintassi. E se cppcheck è veloce enougth.