compiler - Soporte del compilador para el próximo C++ 0x
c++14 (9)
¿Hay un compilador que tenga un buen soporte para el nuevo C ++ 0x?
Uso GCC, pero lamentablemente la versión actual 4.4 tiene un soporte deficiente para las nuevas características.
C ++ 0x todavía no está listo, así que no esperes que sea compatible con atm. GCC 4.4 y Visual C ++ 2010 son buenos candidatos (tienen algunas de las nuevas características más esperadas, como lambdas y auto) que te permiten comenzar, pero el estándar aún no está terminado.
El único compilador que tiene una implementación de conceptos es conceptgcc (e incluso eso está incompleto, pero es lo suficientemente bueno como para tener una buena idea de la característica).
Visual C ++ 2010 Beta tiene compatibilidad útil con C ++ 0x: puede jugar con lambdas, referencias de rvalue, auto, decltype.
Comeau C ++ o los compiladores basados en EDG sorprendentemente no son tan avanzados que hubiera esperado que estuvieran en su implementación de C ++ 0x.
GCC 4.4 (plantillas variadic, listas de inicializadores, espacios de nombres en línea, autor, decltype) probablemente tiene la mayoría de las funciones implementadas de cualquiera de los otros compiladores, pero está rezagado en conceptos y lambdas (el desarrollo de ramas por separado está en curso).
GCC 4.4 tiene al menos algunas de las características geniales ( auto
, plantillas variadas, referencias de valor r, etc.). También hay ramas de desarrollo para conceptos y lambdas.
La versión beta actual del compilador Comeau parece tener buena compatibilidad con C ++ 0x.
Me temo que gcc es probablemente lo mejor que obtendrás en esta etapa.
Hay una lista de características y compiladores compatibles aquí:
Recomiendo el compilador de inteligencia si su Linux / Unix tiene mejor soporte que GCC y produce binarios más rápidos / más pequeños (normalmente obtengo un 10% de aumento en el rendimiento al usarlo)
Scott Meyers tiene una comparación agradable y detallada aquí:
GCC 4.6, publicado el 25/03/11, es compatible con la mayoría de las características no relacionadas con la concurrencia de C ++ 0x . Ahora que C ++ 0x ya no está en flujo, el soporte del compilador puede progresar un poco más rápido.
El proyecto de la biblioteca Apache Standard C ++ mantiene una página wiki de compatibilidad con C ++ 0x de los principales compiladores .
Aquí hay enlaces a las páginas de los vendedores que describen su compatibilidad con C ++ 0x:
- GCC
- CodeGear C ++ Builder 2009
- Compilador Intel C ++
- Visual C ++ 2009 y 2010: mira aquí , aquí o aquí
- Comeau C ++