¿Clang / LLVM está listo para el horario estelar? [cerrado]


9

¿Clang se puede usar en lugar de gcc? ¿Cuál es tu experiencia en eso? ¿Qué desventajas hay todavía?

El rendimiento de la compilación es mucho mejor que el de gcc, pero ¿el rendimiento del código generado al ejecutarlo?

¿Existen buenas herramientas como front-end (IDE) para ejecutarse en Linux o Windows?

EDITAR: me refiero al compilador de C. C ++ aún no es tan bueno.

Respuestas:


9

Actualización: ahora (2013) Clang está listo para el horario estelar y lo utilizan algunas empresas como Google. Sin embargo, no es totalmente utilizable en Windows, el trabajo en esta plataforma es un "trabajo en progreso". LLVM / Clang es actualmente el compilador predeterminado en MacOSX / XCode, pero no son exactamente las mismas versiones que las de LLVM, así que tenga cuidado con las pequeñas diferencias (principalmente la diferencia de los números de versión).


Bien, siguiendo la lista de correo de desarrollo de clang , recientemente la versión troncal se ha estado construyendo con éxito:

  • El kernel de Linux (una revisión reciente)
  • Qt (con su proceso de construcción especial también, aparentemente)
  • Cromo (una revisión reciente)

Entonces, diría que la próxima versión (2.9) podría ser un buen compilador "listo para el horario estelar".

Sin embargo, si su proyecto tiene una planificación y un presupuesto, tal vez no sea una buena idea probar un compilador que aún no haya sido probado. Si se le permite experimentar y proporcionar comentarios a la comunidad de desarrolladores de Clang, entonces hágalo, es beneficioso para todos. Si no, tal vez debería usar un compilador maduro y muy usado como gcc (en sus versiones recientes) para tener un "terreno estable" en el que confiar mientras trabaja en su proyecto.


Solo como complemento, no es un proyecto profesional ... sin embargo, es casi un 20% de tiempo de trabajo.
Maniero

Hubiera intentado el sonido metálico en un proyecto multiplataforma no profesional. De hecho, eso es lo que estoy intentando en este momento.
Klaim el

Gracias. Mi preocupación es sobre el futuro del proyecto. Comenzaré como un experimento, pero deseo hacer más que eso pronto.
Maniero

Si se trata de un proyecto a largo plazo, podría beneficiarse de CLang una vez que sea estable, correcto, optimizado y con todas las funciones de C ++ 0x (si usa c ++). Debido a que su objetivo es ser el compilador más rápido y, aparentemente, ya lo es. Y es importante
Klaim el

1
Clang también está construyendo iOS, Xcode y prácticamente todo lo que Apple está enviando.
Mike Weller

8

Bueno, ciertamente está listo para el horario estelar en Mac OS X, ya que muchas aplicaciones de Mac OS X se compilan usando clang. Pero incluso en otras plataformas, el soporte C es bastante sólido, y el equipo ha avanzado mucho con el soporte C ++.

En términos generales, clang compila el código más rápido que gcc, pero gcc genera un código mejor optimizado. (Hay casos extremos en los que esto no es cierto, pero en general, ese es el estado actual).


Veo el mismo problema, Clang está demasiado vinculado a MacOS / BSD todavía.
Maniero

Intenté CLang en Windows 7 y funcionó correctamente. También lo probé en Ubuntu. Creo que su información no está actualizada, pero eso es lógico ya que se han realizado muchos esfuerzos de arreglos multiplataforma en los últimos meses. Entonces, tal vez no sea tan centrado en Mac una vez que salga la próxima versión.
Klaim el

1
@Klaim: No estoy diciendo acerca de Clang per se , sino de todo el ecosistema. Intenté algunas cosas en problemas de apagón de Win7, pero solo el compilador en cli.
Maniero el

Descubrí que Clang creó un binario más rápido que GCC para mi proyecto. Vale la pena al menos probarlo.
Kendall Hopkins, el

Además, es el compilador predeterminado ahora para iOS.
mamcx

3

Realmente no deberías depender de un compilador específico a menos que realmente lo necesites. Por lo tanto, debería poder cambiar el compilador en un Makefile o algo así y todo debería funcionar bien.

Aquí uso principalmente el sonido metálico para mis proyectos de juguete, porque es más rápido y mucho más importante: sus mensajes de error son mucho más claros. Pero cuando necesito usar gdb, compilo con gcc y -ggdb. Por lo tanto, el sonido metálico aún no está completo y no podría ser mi único compilador.

(Por cierto: estoy en x86 gentoo, y los proyectos están en C y C ++)

editar : para aclarar, el sonido metálico corre más rápido (en algunos casos, mucho más rápido). No me importan las optimizaciones sofisticadas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.