tdm descargar compiler compilador c++ windows c++11

descargar - C++ 11 en Windows



gnu compiler descargar (7)

Me pregunto qué tan bien funciona el software de escritura en C ++ 11 en Windows todavía. Sería más cómodo (y probablemente más natural) usar uno de los compiladores nativos para Windows: estoy pensando en Visual Studio 2012 Express o Visual Studio 2013 Express aquí. Todo lo que pude encontrar hasta ahora sobre este asunto es

  1. http://msdn.microsoft.com/en-us/library/vstudio/hh567368.aspx (Comparación de las características de C ++ 11 de VC10 y VC11, que parece ser bastante mala)
  2. http://blogs.msdn.com/b/vcblog/archive/2013/06/28/c-11-14-stl-features-fixes-and-breaking-changes-in-vs-2013.aspx (no es realmente transparente, no me dio una buena idea de lo bien que funciona)

¿Alguien tiene alguna experiencia en lo bien que las versiones actuales de Visual Studio pueden manejar C ++ 11? Tengo muchas ganas de empezar a usar auto, lambdas, plantillas variadas, alias de plantillas, listas de inicialización y referencias de valores (por nombrar solo algunas) y todas las otras cosas buenas ahora mismo, pero si Windows puede ser un problema, podría tener que usar C ++ 03 más adelante.

Otra posibilidad parece ser instalar LLVM y Clang en Windows. Mi plataforma principal es OSX, y en ese sistema el soporte de Clang para C ++ 11 es realmente bueno. Pero leí que la versión LLVM de la biblioteca estándar para C ++ (libc ++) no funciona bien en Windows. Así que LLVM / clang podría no ser una opción.

¿Cuáles son tus opiniones sobre el desarrollo de C ++ 11 en Windows?

¡Gracias!


Clang y GCC lideran el camino en términos de soporte de características de C ++ 11 y parece ser una carrera de cuello y cuello en términos de soporte de C ++ 11 entre los dos. MSVC está jadeando tristemente tratando de mantenerse al día y quedándose atrás. La distribución Nuwen MingGW es, como menciona Jake, excelente y parece estar funcionando bien con Eclipse (versión de Kepler) y tampoco encontré mucho dolor al usarla con Netbeans 7.4. La distribución Nuwen se encuentra actualmente en la versión 11.2 en el momento de la redacción y, como se puede ver en http://nuwen.net/mingw.html , ahora es x64-nativo, con GCC 4.8.1 y Boost 1.54.0, con el modo predeterminado de GCC también configurado en C ++ 11.

Ciertamente, estoy empezando a usar Eclipse Kepler y Nuwen MinGW en lugar de MSVC 2012 cada vez más, pero en gran medida soy un programador aficionado de C ++ que todavía se moja los pies y puede que no haya tenido los problemas más oscuros que aquellos a quienes C ++ le da. su pan y mantequilla pueden saber.


El soporte de C ++ 11 de VC está lejos de ser completo, pero sí incluye las funciones más importantes para los usuarios.

Y aquí está la otra cosa. En mi experiencia, está bien instalar MinGW o Clang en Windows, pero tendrás algunos inconvenientes porque casi nadie precompila los binarios para esos compiladores para Windows (mientras que mucha gente precompila los binarios para Visual Studio).

Además, hasta donde conozco, no hay entornos para Windows que sean remotos tan avanzados como Visual Studio para cosas como la depuración gráfica, el sentido inteligente y cosas por el estilo. Cuando probé Code :: Blocks simplemente no funcionó, de manera realista.


Estamos utilizando C ++ 11 durante algunos meses, ya en el software de producción en Windows y Linux en algunos productos de here.com sin ningún problema. Usamos auto, lambdas, rango para ... Usar Visual studio 2012 y gcc 4.7.


He estado usando VS2012 y usé las características de C ++ 11 siempre que fue posible. Hay algunos errores en las implementaciones y he encontrado útil tener otro compilador a mano cuando obtengo errores de Visual Studio para comparar.


Solo puedo ofrecerte mi experiencia como desarrollador, ya que he estado construyendo contra la vanguardia de C ++ en Windows usando Visual C ++ para casi todo, al mismo tiempo que instalo varios otros compiladores e IDE (incluido el desarrollo de Clang yo mismo en Windows para Visual Studio 2012, 2012 CTP, y 2013 Preview). La siguiente es mi experiencia hasta ahora (13 de agosto de 2013), y se basa en la charla de Herb Sutter y el trabajo con el compilador todos los días.

El rapido

Ejecutar en la dirección opuesta de Visual Studio / VC ++. El soporte para C ++ 11 es lento, y actualmente están siendo aplastados en términos de características del compilador en comparación con Clang y GCC.

El presente

C ++ 11 de Visual C ++ (y compatibilidad con C ++ 14) está más allá de abismal en este momento. Carecen de funciones potentes que hacen que la metaprogramación de plantillas en C ++ sea excelente ( using expresiones en particular).

  • El uso no existe en este momento. He pasado horas y horas portando un gran código de C ++ 11 con el using de VC ++, solo para que se rompa en ciertos lugares, se ajuste o simplemente se convierta en algo que no se puede mantener.

  • El soporte de Variadic en el CTP fue terriblemente terrible, y aunque mejoró para la versión Visual Studio 2013 Preview del compilador, sigue siendo bastante malo en las expresiones de variadic y de plantilla complejas que obedecen al estándar (y se compilan bien en GCC y Clang).

  • =delete y =default han desaparecido de VC ++ en este momento; en el futuro cercano esperanzador, tal vez funcionará (y debería venir "muy pronto", según la hoja de ruta) (Tuve que implementar los constructores de valor r explícitamente para muchas clases simples hasta una herencia de 8 clases Jerarquía una vez. Fue la peor bofetada en la cara, cuando vi a los usuarios de GCC y Clang obtener todo mi trabajo explícito codificado de forma gratuita con =default ).

  • Como un remanente (principalmente debido al código del sistema operativo Windows y algunas compatabilities binarias), las optomizaciones de clase base vacía en VC ++ no funcionan. No espere que los tamaños de la jerarquía de clase o el diseño de los miembros se optimicen en lo más mínimo (observe su pedido en std::tuple al empaquetar tipos de variables).

Esto es sobre todas las frustraciones con las que he estado en contacto hasta ahora. Se pueden solucionar todos los días. Tengo que trabajar con ellos todos los días, pero si quieres un excelente soporte de C ++, debes saltar a GCC o Clang y, de alguna manera, hacer que funcione en tu máquina.

El futuro

Si realmente desea C ++ 11, tendrá que esperar aproximadamente un año, e incluso entonces a la versión de Visual Studio 2013 de VC ++ le faltarán algunas características (y tampoco espere que no tengan errores). VC ++ para 2013 también seguirá faltando de manera crítica en std :: move y en un soporte explícito de valor r en muchos lugares, lo que hará que sea doloroso cuando esperas que las cosas funcionen.

La advertencia

Si no eres un usuario poderoso de Vim, tienes pocas opciones cuando se trata de IDE con los que puedes trabajar (que funcionan bien con GDB / GCC o Clang).

  • QtCreator es agradable, trabaja con MinGW y, por lo general, tiene todas las funciones para realizar el trabajo.
  • Se puede usar texto sublime, pero tendrá que escribir su propio sistema de construcción o delegarlo en otra cosa.
  • El autocompletado de Code :: Blocks es extraño y se comporta de manera extraña, y el IDE en sí se siente torpe.
  • Se supone que Eclipse es bueno, pero mis experiencias con él son torpes y extrañas, con intervalos de entrada impares a la vez (a pesar de una máquina Haswell i7 de 8.00 GB que utiliza un SSD).
  • Visual Studio, como un IDE, es bastante sólido. Luego apila Visual Assist X en la parte superior, y funciona bastante bien para la codificación C ++. Realmente es la única razón por la que sigo apegándome a ello, pero ya he avanzado en el aprendizaje de Vim para poder deshacerme de Visual Studio por completo, cuando llegue el momento.

Sobre las bibliotecas

El soporte de la biblioteca en VC ++ es bastante completo (por lo que su compilador roto les permite estar completos). Tiene expresiones regulares, mientras que la mayoría de las otras bibliotecas tienen soporte de expresiones regulares inexistente o roto. Pero eso no significa que la biblioteca de VC ++ juegue bien con algunas características de C ++ 11 que dice que lo hace (foto de melak47 ).

Y por último

Si quieres un código que sabes que va a funcionar en Windows, 100%, por el resto de la eternidad, probablemente querrás programar contra VC ++. El otro "beneficio" es que el código que escribes en VC ++ es el subconjunto más pequeño de C ++ / C ++ 11 con el que puedes escribir, por lo que al final debería compilarse en todas partes. Por supuesto, eso va en contra de la idea de usar el hermoso C ++ 11 y disfrutarlo, así que ... elija sus venenos con prudencia.


http://nuwen.net/mingw.html

El nuwen distro es impresionante! Es MinGW pero sale mucho más rápido que MinGW a medida que salen las nuevas versiones de GCC. También viene con todo el impulso y otras bibliotecas útiles ya compiladas. Es todo lo que uso en las ventanas más.


here puede ver una comparación completa de la compatibilidad del compilador con las características del lenguaje C ++ 11. Here''s algo de información sobre la hoja de ruta de C ++ 11/14 de VS.

MSVC se está quedando por detrás de los otros compiladores principales de C ++, pero aún tiene soporte para muchas de las características más importantes.

  • Las referencias de auto, lambdas y rvalue están disponibles en VS10. IIRC hay una advertencia con referencias de valor que el compilador no genera operadores de construcción de movimiento y asignación de movimiento.

  • Las plantillas variadas y las listas de inicialización están disponibles en la vista previa de VS2013, incluida la compatibilidad con bibliotecas.

  • se espera que el aliasing de tipo (es decir, typedefs con la palabra clave using ) esté disponible en VS 2013 RTM.

Si no necesita interoperar con binarios generados por VS, puede instalar otro compilador como GCC. Entiendo que Clang también puede trabajar en un entorno mingw, con libstdc ++ en lugar de libc ++.