visual tutorial studio practicar para funciona español ejercicios como comandos c++ visual-studio visual-c++ stl vc6

c++ - tutorial - ¿Cuáles son algunos argumentos convincentes para actualizar desde Visual Studio 6?



visual basic tutorial (14)

Tengo un cliente que todavía está usando Visual Studio 6 para construir sistemas de producción. Escriben sistemas de subprocesos múltiples que usan STL y se ejecutan en máquinas multiprocesador.

Ocasionalmente, cuando cambian las especificaciones o aumentan la carga en una de sus máquinas servidor, obtienen errores "extraños" difíciles de reproducir ...

Sé que hay varios problemas con el desarrollo de Visual Studio 6 y me gustaría convencerlos de pasar a Visual Stuio 2005 o 2008 (tienen Visual Studio 2005 y lo utilizan para algunos proyectos).

El propósito de esta pregunta es recopilar una lista de problemas conocidos o motivos para actualizar junto con enlaces a donde se debaten o informan estos problemas. También sería útil tener ''historias de terror'' de la vida real sobre cómo estos problemas te han picado.



El mayor problema que hemos visto en mi lugar de trabajo es su incapacidad para manejar incluso clases o funciones modeladas marginalmente complejas. Este solo hecho ha obligado a algunos de los fanáticos de VS6 más dedicados de la compañía a actualizar y comenzar a usar VS2005. Además del problema de la plantilla, intellisense es mucho mejor, la depuración es más fácil y más precisa, y muchas personas consideran que el IDE es más fácil de navegar. El único inconveniente que hemos visto hasta ahora es que las compilaciones tardan un poco más en 2005 que en 6 (pero eso es probablemente un efecto secundario de que el compilador sea más robusto)

También puede consultar estos sitios para ver ejemplos de problemas conocidos en VS6:

Estoy seguro de que podrías encontrar más si hurgas un poco.


VS6 no compila el código según el estándar actual de C / C ++. Por ejemplo,

  • tiene reglas de scoping incorrectas (desactualizadas) para bucles. Al menos un MSFT SDK se ha actualizado ahora con un código que espera la semántica correcta, por lo que el SDK ni siquiera compilará con VS6.
  • Tiene problemas para compilar todas las construcciones de plantillas menos triviales.
  • Recopilará algunas construcciones de plantilla que se han declarado ilegales en actualizaciones de estándares recientes (porque las construcciones en realidad no hacen lo que los usuarios normales esperan).


Visual Studio 6 no es compatible con los SDK de Windows perdidos, por lo que no puede utilizar (al menos fácilmente) las últimas funciones del sistema operativo.


No es compatible con Vista. Diablos, hay una larga lista de problemas que VS 2005 tiene con Vista.

Dicho esto, la mayoría de las mejoras en VS parecen aplicarse a todo lo que no sea el código nativo de C ++. Lo que veo es un mayor cumplimiento de los estándares, lo cual es importante pero no dramático.


He actualizado mis cosas, pero es relativamente sencillo. Una estafa para actualizar es VS 2005 DLL Hell




La versión VS 2008 de STL compila con /clr , por lo que si están interesados ​​en la transición al mundo administrado, no tienen que perder todo el código anterior.


Por defoult las versiones más nuevas tienen mejor compilador y mejores bibliotecas. Pero no siempre es fácil transferir proyectos existentes a un estudio más nuevo, y puede actualizar tanto el compilador como las bibliotecas de forma manual.

Estaba usando VS 6.0 con el compilador de Intel hace solo un año. Acabamos de tener un montón de código antiguo, que amenazaba iteradores como punteros y viceversa, y todo era realmente desordenado y atemorizante, por lo que esto nos impidió una actualización.

Pero tuve que actualizar después de todo, porque el framework que estoy usando actualmente no funciona en VS 6.0. Piensa que esta es la razón más importante :-)


Una de las principales razones para actualizar fue el compilador estándar C ++ (aunque todavía no es el 100%), así que podría aprovechar más características C ++ en mis proyectos y no preocuparme por hacks extraños y soluciones que pueden llevar a errores difíciles de encontrar.


Aunque ya no tengo detalles concretos, lo incluiré cuando nos hayamos actualizado en el trabajo, el nuevo compilador encontró bastantes errores que el VC 6 dejó pasar silenciosamente. Mayor robustez del producto solo por la actualización.


Las bibliotecas de terceros también admiten solo un número limitado de compiladores. Es posible que su cliente no pueda aceptar correcciones de errores o actualizaciones de funciones como resultado.

Por ejemplo, incluso una biblioteca ampliamente utilizada como Boost solo admite VS 7.1 y posterior ( fuente )

Y también puede tener algunos problemas con Prevención de ejecución de datos (DEP), porque VC6 se envía con una versión anterior de ATL. Como de costumbre, ve a Raymond Chen para más detalles.