2009-06-11 16 views
9

Esiste un compilatore con un buon supporto per il nuovo C++ 0x?Supporto del compilatore per l'imminente C++ 0x

Uso GCC ma sfortunatamente l'attuale versione 4.4 ha un supporto scarso per le nuove funzionalità.

+0

Duplicato di http://stackoverflow.com/questions/657511/c-compiler-that-supports-c0x-features –

+4

Qualsiasi cosiddetta domanda duplicata che non presenta Comeau (o qualsiasi compilatore basato su EDG, ad esempio , Intel: non sono pignolo, perché non vale la pena di collegare una risposta. :-P –

+0

@Chris, se una domanda è un duplicato non ha nulla a che fare con le sue risposte. Se pensi che le risposte alle altre domande siano carenti, puoi correggerle aggiungendo la tua risposta. –

risposta

4

L'unico compilatore che ha un l'implementazione dei concetti è conceptgcc (e anche questo è incompleto - ma è abbastanza buono per ottenere un buon feeling per la funzionalità).
Visual C++ 2010 Beta ha qualche utile supporto C++ 0x - è possibile giocare con lambdas, riferimenti rvalue, auto, decltype.
Comeau C++ o i compilatori basati su EDG sono sorprendentemente non così avanzati che mi sarei aspettato che fossero nella loro implementazione di C++ 0x.
GCC 4.4 (modelli variadici, elenchi di inizializzatori, spazi dei nomi in linea, autor, decltype) probabilmente ha la maggior parte delle funzionalità implementate da uno qualsiasi degli altri compilatori, ma è in ritardo in concetti e lambda (lo sviluppo di ramo separato è in corso).

+4

conceptgcc implementa solo una proposta di concetti obsoleti ed è molto bug e instabile. – sellibitze

+2

Ho pensato che i concetti fossero stati rimossi da C++ 0x. –

3

L'attuale beta version dello Comeau compiler sembra avere un buon supporto C++ 0x.

+0

Ho provato http://www.comeaucomputing.com/tryitout/ il compilatore online ... e non avrebbe compilato 'std :: shared_ptr' ... –

+1

@Stephane: È' std :: tr1 :: shared_ptr ', non' std :: shared_ptr'. –

+0

thx per l'osservazione ;-) Darò un altro tentativo. –

1

C++ 0x non è ancora pronto, quindi non aspettatevi di averlo supportato atm. GCC 4.4 e Visual C++ 2010 sono buoni candidati (hanno alcune delle nuove feautres più attese come lambdas e auto) che ti permettono di iniziare, ma lo standard non è ancora finito.

6

Ho paura che gcc sia probabilmente il migliore che otterrai in questa fase.

C'è un elenco di caratteristiche e compilatori supportati qui:

http://wiki.apache.org/stdcxx/C++0xCompilerSupport

+3

gcc potrebbe essere il migliore libero. Ma il compilatore Comeau è sempre stato buono. –

3

GCC 4.4 ha almeno alcune delle caratteristiche cool (auto, modelli variadic, riferimenti rvalue, etc.). Esistono anche rami di sviluppo per concetti e lambda.

Vedere C++0x support in GCC.

1

vi consiglio compilatore intel se siete in Linux/Unix è ottenuto un migliore supporto di GCC e produce più veloce/binari più piccoli (io normalmente ottenere un libero 10% incremento delle prestazioni di usarlo)

+0

Aggiornamento 12/12/12: Il supporto Intel Compiler per C++ 11 è un incubo su Windows. Non supporta gli elenchi di inizializzazione, l'override, il finale e il supporto per noex è appena stato aggiunto. Ho avuto errori di compilazione interni durante la compilazione del codice C++ 11 con esso. Abbiamo un nuovo progetto C++ 11 e gcc 4.7.2 sta gestendo bene e produttività ++ ma è quasi impossibile ottenere un ambiente C++ 11 configurato su Windows. –

Problemi correlati