Clang / LLVM è pronto per la prima serata? [chiuso]

10

Clang può essere usato al posto di gcc? Qual è la tua esperienza in merito? Quali svantaggi ci sono ancora?

Le prestazioni della compilazione sono molto migliori di gcc ma sulle prestazioni del codice generato durante l'esecuzione?

Ci sono buoni strumenti come front-end (IDE) per l'esecuzione su Linux o Windows?

EDIT: Intendo il compilatore C. C ++ non è ancora così buono.

    
posta Maniero 07.11.2010 - 10:36
fonte

3 risposte

9

Aggiornamento: Ora (2013) Clang è pronto per la prima serata e utilizzato da alcune aziende come Google. Tuttavia non è totalmente utilizzabile su Windows, il lavoro su questa piattaforma è un "work in progress". LLVM / Clang è attualmente il compilatore predefinito su MacOSX / XCode, ma non è esattamente la stessa versione di quelle LLVM, quindi fai attenzione alle differenze minori (principalmente la differenza tra i numeri di versione).

Bene seguendo la mailing list di clang dev , recentemente la versione del trunk sono stati costruiti con successo:

  • il kernel linux (una revisione recente)
  • Qt (anche con il suo processo di compilazione speciale, apparentemente)
  • Chromium (una revisione recente)

Quindi, direi che la prossima versione (2.9) potrebbe essere un buon compilatore "ready for prime time".

Tuttavia, se il tuo progetto ha una pianificazione e un budget, forse non è una buona idea provare un compilatore che non sia ancora pesantemente testato. Se ti è permesso sperimentare e fornire feedback alla comunità di sviluppatori di Clang, allora fallo, è vantaggioso per tutti. In caso contrario, forse dovresti usare un compilatore maturo e pesante come gcc (nelle sue ultime versioni) per avere un "terreno stabile" su cui fare affidamento mentre lavori al tuo progetto.

    
risposta data 09.11.2010 - 17:25
fonte
8

Bene, è certamente pronto per la prima volta su Mac OS X, dal momento che molte app Mac OS X sono compilate usando clang. Ma anche su altre piattaforme, il supporto C è piuttosto solido e il team ha fatto passi da gigante con il supporto C ++.

In generale, clang compila codice più veloce di gcc, ma gcc genera codice ottimizzato meglio. (Ci sono casi limite in cui questo non è vero, ma in generale, questo è lo stato corrente.)

    
risposta data 09.11.2010 - 17:26
fonte
3

Non dovresti realmente dipendere da un compilatore specifico a meno che tu non ne abbia davvero bisogno. Quindi dovresti essere in grado di cambiare il compilatore in un Makefile o qualcosa del genere e tutto dovrebbe funzionare bene.

Qui uso principalmente clang per i miei progetti di giocattoli, perché è più veloce e molto più importante: i suoi messaggi di errore sono così dannatamente più chiari. Ma quando ho bisogno di usare gdb, compilo con gcc e -ggdb. Quindi clang non è ancora completo, e non potrebbe essere il mio unico compilatore.

(BTW: io sono su x86 gentoo e i progetti sono in C e C ++)

modifica : per chiarire, clang corre più velocemente (in alcuni casi, molto più velocemente). Non mi importa delle ottimizzazioni elaborate.

    
risposta data 20.01.2011 - 01:13
fonte

Leggi altre domande sui tag