Microsoft Visual C++ ( MSVC ) es un compilador de Microsoft para los lenguajes de programación C , C++ , C++/CLI y C++/CX . MSVC es un software propietario ; originalmente era un producto independiente, pero posteriormente se integró en Visual Studio y se ofreció en versiones de prueba y gratuitas . Incluye herramientas para desarrollar y depurar código C++, especialmente código escrito para la API de Windows , DirectX y .NET .
Muchas aplicaciones requieren paquetes de bibliotecas de tiempo de ejecución redistribuibles de Visual C++ para funcionar correctamente. Estos paquetes suelen instalarse por separado de las aplicaciones a las que dan soporte, lo que permite que varias aplicaciones utilicen el paquete con una sola instalación. Estos paquetes redistribuibles y de tiempo de ejecución de Visual C++ se instalan principalmente para las bibliotecas estándar que utilizan muchas aplicaciones. [ 4 ]
Historia
El predecesor de Visual C++ se llamaba Microsoft C/C++ . También existían Microsoft QuickC 2.5 y Microsoft QuickC para Windows 1.0. El compilador de Visual C++ todavía se conoce como Microsoft C/C++ y, a partir del lanzamiento de Visual C++ 2015 Update 2, se encuentra en la versión 14.0.23918.0.
versiones de 16 bits
- Microsoft C 1.0, basado en Lattice C , fue el primer producto de Microsoft escrito en C en 1983. No cumplía con el estándar K&R C.
- C 2.0 añadió soporte para modelos grandes, permitiendo hasta 1 MiB tanto para el segmento de código como para el segmento de datos. [ 5 ]
- C 3.0 fue la primera versión desarrollada internamente en Microsoft. [ 6 ] Esta versión buscaba la compatibilidad con K&R y el posterior estándar ANSI. Se utilizaba internamente en Microsoft (para el desarrollo de Windows y Xenix ) a principios de 1984 y se lanzó como producto en 1985.
- C 4.0 añadió optimizaciones y CodeView , un depurador a nivel de código fuente.
- C 5.0 añadió optimizaciones de bucles y compatibilidad con modelos de memoria enormes ( matrices de más de 64 KB).
- C 5.1, lanzado en 1988, permitía compilar programas para OS/2 1.x. La versión de catorce disquetes de 5,25" (dos de 1,2 MB y los otros 360k) incluía QuickC. La versión de once disquetes de 3,5" y 720k, incluida con el kit de desarrollo de software de OS/2, incluía MASM 5.1 (un único ejecutable que funcionaba tanto en MSDOS como en OS/2 1.x).
- C 6.0, lanzado en 1989, añadió soporte para el modelo de memoria pequeña y mejor compatibilidad con el estándar ANSI C89 (la documentación indica explícitamente que no cumple al 100%, pero parece ser lo suficientemente preciso para fines prácticos). Incorporó el IDE Programmer's Workbench , análisis de flujo global, un explorador de código fuente y un nuevo depurador. Para sorpresa de muchos, no se incluyó C++, a pesar de que la competencia ya ofrecía alternativas. [ 7 ]
- C/C++ 7.0 se lanzó en 1992. Se eliminó la compatibilidad con OS/2. La compilación requería un procesador 386 más el extensor de DOS incluido , 386MAX , [ 8 ] aunque para que los usuarios pudieran usar extensores de DOS en sus propios programas, se requería una de varias herramientas de terceros lanzadas posteriormente. [ 9 ] Se agregó compatibilidad integrada con C++ y MFC (Microsoft Foundation Class Library) 1.0. [ 10 ]
- Visual C++ 1.0, que incluía MFC 2.0, fue la primera versión de "Visual" C++, lanzada en febrero de 1993. Era compatible con Cfront 2.1 [ 11 ] y estaba disponible en dos ediciones: [ 1 ]
- Estándar: reemplazó a QuickC para Windows.
- Profesional: reemplazó a C/C++ 7.0. Incluía la capacidad de compilar aplicaciones tanto para DOS como para Windows, un compilador optimizador , un analizador de código fuente y el SDK de Windows 3.1. [ 11 ] También se incluyó el Phar Lap 286 DOS Extender Lite. [ 12 ]
- Visual C++ 1.5 se lanzó en diciembre de 1993, incluía MFC 2.5 y agregaba soporte para OLE 2.0 y ODBC a MFC. [ 13 ] Fue la primera versión de Visual C++ que venía solo en CD-ROM .
- Visual C++ versiones 1.51 y 1.52 estaban disponibles como parte de un servicio de suscripción.
- Visual C++ 1.52b es similar a la versión 1.52, pero no incluye el Kit de Desarrollo de Controles.
- Visual C++ 1.52c era una versión parcheada de la 1.5. Es la última, y posiblemente la más popular, plataforma de desarrollo para Microsoft Windows 3.x. Está disponible a través de Microsoft Developer Network .
Versiones estrictamente de 32 bits
- Visual C++ 1.0 (nombre original: Visual C++ 32-bit Edition), lanzado en 1993, fue la primera versión para desarrollo de 32 bits (y requería Windows NT de 32 bits como sistema anfitrión) para la arquitectura Intel 386. [ 14 ] Aunque se lanzó cuando la versión 1.5 de 16 bits ya estaba disponible, no incluía soporte para OLE2 ni ODBC. También estaba disponible en un paquete llamado Visual C++ 16/32-bit Suite, que incluía Visual C++ 1.5. [ 15 ]
- Visual C++ 2.0, que incluía MFC 3.0, fue la primera versión exclusivamente de 32 bits. En muchos sentidos, esta versión se adelantó a su tiempo, ya que Windows 95 , entonces con nombre en clave "Chicago", aún no se había lanzado y Windows NT tenía una cuota de mercado reducida. Microsoft incluyó y actualizó Visual C++ 1.5 como parte de las versiones 2.x hasta la 2.1, que incluía Visual C++ 1.52, y se incluyeron versiones de 16 y 32 bits del Kit de Desarrollo de Control (CDK). Visual C++ 2.x también era compatible con el desarrollo para Win32s . Está disponible a través de Microsoft Developer Network . Existía una edición RISC de Visual C++ 2.0 para procesadores MIPS y Alpha , así como una edición multiplataforma para Macintosh ( conjunto de instrucciones 68000 ). [ 16 ]
- Microsoft Visual C++ Cross-Development Edition para Macintosh fue un complemento para Visual C++ que introdujo la Biblioteca de Portabilidad de Windows, originalmente conocida como Biblioteca de Windows para Macintosh [ 17 ] : 17 o Capa de Windows para Macintosh (WLM), [ 18 ] : 16 que permitía a los desarrolladores escribir aplicaciones para las API de Win32 y MFC que podían compilarse para computadoras Macintosh con arquitectura 68000. [ 17 ]
- Visual C++ 2.1 y 2.2 fueron actualizaciones de la versión 2.0 disponibles mediante suscripción.
- Visual C++ 4.0, lanzado el 11 de diciembre de 1995, [ 19 ] introdujo el IDE Developer Studio. Su entonces novedoso diseño en mosaico de paneles que no se superponen —panel de navegación, panel combinado de editor/depurador de nivel de código fuente y panel de salida de consola [ 20 ] — continúa en toda la línea de productos Visual Studio ( a partir de 2025Visual C++ 4.0 incluía MFC 4.0 y fue diseñado para Windows 95 y Windows NT. Para permitir la compatibilidad con proyectos heredados (Windows 3.x/DOS), la versión 4.0 venía incluida con el CD de instalación de Visual C++ 1.52. Las actualizaciones disponibles mediante suscripción incluían Visual C++ 4.1, que venía con el SDK de juegos de Microsoft (posteriormente lanzado por separado como el SDK de DirectX), y Visual C++ 4.2. Se omitió la versión 3.0 para lograr la paridad de versiones entre Visual C++ 4.0 y MFC 4.0. [ 21 ]
- Visual C++ 4.2 no admitía el desarrollo para Windows 3.x ( Win32s ). [ 22 ] Esta fue la versión final con una edición multiplataforma para Mac disponible y se diferenciaba de la versión 2.x en que también permitía la compilación para el conjunto de instrucciones PowerPC .
- Visual C++ 5.0 (incluido con Visual Studio 97), que incluía MFC 4.21 y se lanzó el 28 de abril de 1997, [ 19 ] fue una actualización importante con respecto a la versión 4.2. [ 23 ] Disponible en cuatro ediciones: Learning, [ 24 ] Professional, [ 25 ] Enterprise, [ 26 ] y RISC. [ 27 ]
- Visual C++ 6.0 (conocido comúnmente como VC6, y disponible de forma independiente en ediciones Standard, Professional y Enterprise, así como incluido con Visual Studio 6.0), que incluía MFC 6.0, se lanzó en 1998. [ 28 ] [ 29 ] El lanzamiento fue algo controvertido, ya que no incluía una actualización esperada de MFC. Visual C++ 6.0 sigue siendo bastante popular y se usa con frecuencia para mantener proyectos heredados. Sin embargo, existen problemas con esta versión en Windows XP, especialmente en el modo de depuración (por ejemplo, los valores de las variables estáticas no se muestran). Los problemas de depuración se pueden solucionar con un parche llamado "Visual C++ 6.0 Processor Pack". [ 30 ] Número de versión: 12.00.8804
- Visual C++ .NET 2002 (también conocido como Visual C++ 7.0), que incluía MFC 7.0, se lanzó en 2002 con soporte para la generación de código en tiempo de enlace y comprobaciones de depuración en tiempo de ejecución, .NET 1.0, Visual C# y Managed C++ . La nueva interfaz de usuario utilizaba muchas de las teclas de acceso rápido y convenciones de Visual Basic , lo que contribuyó a su impopularidad entre los desarrolladores de C++. Número de versión: 13.00.9466
- Visual C++ .NET 2003 (también conocido como Visual C++ 7.1), que incluía MFC 7.1, se lanzó en 2003 junto con .NET 1.1 y representó una importante actualización de Visual C++ .NET 2002, siendo la primera versión en admitir la construcción "long long" de C99. Se consideró un parche para Visual C++ .NET 2002. Por consiguiente, la versión de actualización en inglés de Visual Studio .NET 2003 se ofreció a un precio mínimo a los usuarios de la versión en inglés de Visual Studio .NET 2002. Windows 98 es la versión más antigua oficialmente compatible. Si bien los programas sencillos funcionarán en Windows 95 y NT 4.0, los programas más complejos pueden provocar que se haga referencia a archivos como ws2_32.dll o que falten funciones en kernel32.dll. En versiones posteriores del compilador (Visual C++ 2005), incluso los programas sencillos no funcionarán (a menos que se reemplace la biblioteca C) porque tienen una referencia a la función IsDebuggerPresent en kernel32.dll, que solo existe en Windows 98 y versiones posteriores. Número de versión: 13.10.3077
- eMbedded Visual C++ [ 31 ] en varias versiones se utilizó para desarrollar para algunas versiones del sistema operativo Windows CE . Inicialmente reemplazó un entorno de desarrollo que consistía en herramientas agregadas a Visual C++ 6.0. eMbedded Visual C++ fue reemplazado como entorno de desarrollo independiente por Microsoft Visual Studio 2005 .
Versiones de 32 y 64 bits
- Visual C++ 2005 (también conocido como Visual C++ 8.0), que incluía MFC 8.0, se lanzó en noviembre de 2005. Esta versión es compatible con .NET 2.0 e incluye una nueva versión de C++ dirigida al marco de trabajo .NET ( C++/CLI ) con el propósito de reemplazar la versión anterior ( Managed C++ ). Sin embargo, Managed C++ para CLI todavía está disponible a través de las opciones del compilador. También introdujo OpenMP . Con Visual C++ 2005, Microsoft también introdujo Team Foundation Server . Visual C++ 8.0 tiene problemas para compilar proyectos de MFC AppWizard creados con Visual Studio 6.0, por lo que el mantenimiento de proyectos heredados puede continuar con el IDE original si la reescritura no es factible. Visual C++ 2005 es la última versión que puede dirigirse a Windows 98 y Windows Me . [ 32 ] [ 33 ] La versión SP1 (14.00.50727.762) también está disponible en la actualización del SDK de Microsoft Windows para Windows Vista .
- Visual C++ 2008 (también conocido como Visual C++ 9.0) se lanzó en noviembre de 2007. Esta versión admite .NET 3.5. Managed C++ para CLI todavía está disponible a través de las opciones del compilador. De forma predeterminada, todas las aplicaciones compiladas con Visual C++ 2008 Runtimes (vinculación estática y dinámica) solo funcionarán en Windows 2000, Windows XP SP2 y posteriores. [ 34 ] [ 35 ] Un paquete de características lanzado para VC9, incluido posteriormente en SP1, agregó compatibilidad con las extensiones de la biblioteca C++ TR1 . La versión SP1 (15.00.30729.01) también está disponible en Microsoft Windows SDK para Windows 7 .
- Algunas versiones de Visual C++ eran compatibles con Itanium 2 .
- Visual C++ 2010 (también conocido como Visual C++ 10.0) se lanzó el 12 de abril de 2010. Utiliza una base de datos SQL Server Compact para almacenar información sobre el código fuente, incluida la información de IntelliSense , para un mejor soporte de IntelliSense y autocompletado de código. [ 36 ] Sin embargo, Visual C++ 2010 no admite Intellisense para C++/CLI. [ 37 ] Esta versión agrega una biblioteca de computación paralela de C++ llamada Parallel Patterns Library , soporte parcial para C++11 , IntelliSense significativamente mejorado basado en el front-end de Edison Design Group , [ 38 ] y mejoras de rendimiento tanto para el compilador como para el código generado. [ 39 ] Esta versión está construida sobre .NET 4.0, pero admite la compilación a código máquina . El soporte parcial para C++11 consiste principalmente en seis características del compilador: [ 40 ] lambdas, referencias a rvalue, auto, decltype, static_assert y nullptr. C++11 también admite características de biblioteca (por ejemplo, mover los componentes TR1 del espacio de nombres std::tr1 directamente al espacio de nombres std). También se consideraron las plantillas variádicas , pero se retrasaron hasta una versión futura debido a que tenían una prioridad menor, lo que se debía a que, a diferencia de otras características costosas de implementar (lambda, referencias rvalue), las plantillas variádicas solo beneficiarían a una minoría de escritores de bibliotecas en lugar de a la mayoría de los usuarios finales del compilador. [ 41 ] Por defecto, todas las aplicaciones compiladas con Visual C++ 2010 Runtimes solo funcionan en Windows XP SP2 y posteriores. La versión RTM (16.00.30319) también está disponible en Windows SDK para Windows 7 y .NET Framework 4 (WinSDK v7.1). [ 42 ] La versión SP1 (16.00.40219) está disponible como parte de Visual Studio 2010 Service Pack 1 o a través de la actualización del compilador de Microsoft Visual C++ 2010 Service Pack 1 para Windows SDK 7.1. [ 43 ]
- Visual C++ 2012 (también conocido como Visual C++ 11.0) se lanzó el 15 de agosto de 2012. Incluye soporte mejorado para C++11 y soporte para el desarrollo en Windows Runtime . [ 44 ]
- Visual C++ 2013 (también conocido como Visual C++ 12.0) se lanzó el 17 de octubre de 2013. Incluye mayor compatibilidad con C++11 y C99 , e introduce un SDK REST . [ 45 ]
- Visual C++ 2015 (también conocido como Visual C++ 14.0) se lanzó el 20 de julio de 2015. [ 46 ] Incluye compatibilidad mejorada con C++11/14/17. [ 47 ] Sin ningún anuncio de Microsoft, Visual Studio 2015 Update 2 comenzó a generar llamadas de telemetría en los binarios compilados. Después de que algunos usuarios contactaran a Microsoft sobre este problema, Microsoft dijo que eliminarían estas llamadas de telemetría al compilar con la futura Visual Studio 2015 Update 3. [ 48 ] [ 49 ] La función en cuestión se eliminó de las bibliotecas estáticas de Visual C++ CRT en Visual Studio 2015 Update 3.
- Visual C++ 2017 (también conocido como Visual C++ 14.10) se lanzó el 7 de marzo de 2017. [ 50 ]
- Visual C++ 2019 (también conocido como Visual C++ 14.20) se lanzó el 2 de abril de 2019. [ 51 ]
Versiones estrictamente de 64 bits
Numeración de versiones internas
Hay varios números de versión diferentes a considerar cuando se trabaja con Visual C o C++. El más antiguo y original de estos es el número de versión del compilador, que se ha incrementado monótonamente desde los primeros días del compilador C de Microsoft. Esta es la versión que devuelve el comando cl.exepor sí solo sin ninguna opción. Al tomar dos dígitos después del punto decimal y eliminar el punto decimal, esto también se convierte en el valor de la macro del preprocesador de C: _MSC_VER, y la variable CMake: MSVC_VERSION. Una versión más larga de la macro de C es _MSC_FULL_VERpara hacer distinciones más finas entre compilaciones del compilador. Un ejemplo de _MSC_VERes 1933 para representar la versión 19.33 del compilador C/C++ de Microsoft, y de _MSC_FULL_VERes 193331630.
La versión del producto Visual, como "17.3.4", designa la versión de Visual Studio con la que se empaquetó la versión 19.33 del compilador. Luego está la versión de la biblioteca de tiempo de ejecución de Microsoft Visual C/C++, por ejemplo, "14.3". A partir de esto, también se puede deducir la versión del conjunto de herramientas, que se obtiene tomando los tres primeros dígitos de la versión de la biblioteca de tiempo de ejecución y omitiendo el punto decimal, por ejemplo, "143". Incluye la biblioteca de tiempo de ejecución de Visual C/C++, así como compiladores, enlazadores, ensambladores, otras herramientas de compilación y las bibliotecas y archivos de encabezado correspondientes. A continuación se muestra una tabla (extraíble) de los números de versión correlacionados conocidos.
Compatibilidad
ABI
Históricamente, la ABI del compilador Visual C++ ha cambiado entre versiones principales del compilador. [ 57 ] Esto es especialmente cierto para los contenedores STL, donde los tamaños de los contenedores han variado mucho entre versiones del compilador. [ 58 ] Por lo tanto, Microsoft desaconseja el uso de interfaces C++ en los límites de los módulos cuando se desea habilitar código cliente compilado con una versión diferente del compilador. En lugar de C++, Microsoft recomienda usar interfaces C [ 59 ] o COM [ 60 ] , que están diseñadas para tener una ABI estable entre versiones del compilador.
Todas las versiones 14.x de MSVC tienen una ABI estable, [ 61 ] y los binarios compilados con estas versiones se pueden mezclar de manera compatible con versiones futuras, teniendo en cuenta las siguientes restricciones:
- La versión del conjunto de herramientas utilizada debe ser igual o superior a la versión más alta del conjunto de herramientas utilizada para compilar cualquier binario vinculado.
- La versión del paquete redistribuible de MSVC debe ser igual o superior a la versión del conjunto de herramientas utilizado por cualquier componente de la aplicación.
- Las bibliotecas estáticas o los archivos objeto compilados con /GL (optimización de programa completo) no son compatibles binariamente entre versiones y deben usar exactamente el mismo conjunto de herramientas.
Bibliotecas de tiempo de ejecución de C
Visual C++ incluye diferentes versiones de las bibliotecas de tiempo de ejecución de C. [ 62 ] Esto significa que los usuarios pueden compilar su código con cualquiera de las bibliotecas disponibles. Sin embargo, esto puede causar algunos problemas al usar diferentes componentes ( DLL , EXE ) en el mismo programa. Un ejemplo típico es un programa que usa diferentes bibliotecas . El usuario debería usar la misma biblioteca de tiempo de ejecución de C para todos los componentes del programa, a menos que se comprendan las implicaciones. Microsoft recomienda usar la biblioteca de vínculos dinámicos multihilo (opción de compilador /MD o /MDd) para evitar posibles problemas. [ 62 ]
POSIX
Aunque la CRT de Microsoft implementa un gran subconjunto de interfaces POSIX , el compilador de Visual C++ emite una advertencia por defecto cada vez que se utilizan dichas funciones. La razón es que los estándares de C y C++ requieren un prefijo de guion bajo antes de las interfaces definidas por la implementación, por lo que el uso de estas funciones no es estándar. [ 63 ] Sin embargo, los sistemas que sí cumplen con POSIX no aceptarían estos nombres con guion bajo, y resulta más portable simplemente desactivar la advertencia.
do
Aunque el producto se originó como un IDE para el lenguaje de programación C , durante muchos años la compatibilidad del compilador con dicho lenguaje se limitó a la edición original del estándar C , que data de 1989, pero no a la revisión C99 del estándar. No existían planes para dar soporte a C99 ni siquiera en 2011, más de una década después de su publicación. [ 64 ]
Visual C++ 2013 finalmente agregó soporte para varias características de C99 en su modo C (incluidos inicializadores designados, literales compuestos y el _Booltipo), [ 65 ] aunque todavía no era completo. [ 66 ] Visual C++ 2015 mejoró aún más el soporte de C99, con soporte completo de la biblioteca estándar de C99, excepto para las características que requieren características del lenguaje C99 que aún no son compatibles con el compilador. [ 67 ]
La mayoría de los cambios de la revisión C11 del estándar aún no eran compatibles con Visual C++ 2017. [ 68 ] Por ejemplo, las selecciones genéricas mediante la _Genericpalabra clave no son compatibles con el compilador y dan como resultado un error de sintaxis. [ 69 ]
El preprocesador fue renovado en 2018, con C11 en mente: [ 70 ]
La plena conformidad con C11 está en nuestra hoja de ruta, y la actualización del preprocesador es solo el primer paso. La
_Genericfuncionalidad C11 no forma parte del preprocesador, por lo que aún no se ha implementado. Una vez implementada, espero que funcione independientemente de si se utiliza la lógica del preprocesador tradicional o la actualizada.
_GenericEl apoyo a MSVC se ha comprometido desde febrero de 2020. [ 71 ]
En septiembre de 2020, Microsoft anunció que la compatibilidad con los estándares C11 y C17 en MSVC llegaría en la versión 16.8. [ 72 ] Esto no incluía características opcionales, pero Microsoft indicó que planeaba agregar compatibilidad con operaciones atómicas e hilos en una fecha posterior. En la versión 17.5, se agregó compatibilidad parcial (ya que faltan los bloqueos atómicos ) y experimental (es decir, oculta tras la bandera del compilador) para operaciones atómicas [ 73 ] y en la versión 17.8, se agregó compatibilidad con hilos, esta vez no tras una bandera del compilador. [ 74 ] [ 75 ]/experimental:c11atomics
C++
Con la configuración predeterminada, MSVC no realiza la búsqueda de nombres en dos fases, lo que le impide marcar una amplia gama de código no válido. La mayoría de las comprobaciones se posponen hasta la instanciación de la plantilla. Las versiones más recientes corrigen este comportamiento, pero es necesario habilitarlo mediante la opción de línea de comandos /permissive-. [ 76 ]
Recepción
En febrero de 1989, BYTE calificó de "excelente" la compatibilidad de Microsoft C 5.1 con OS/2, QuickC para el desarrollo interactivo y el depurador CodeView. Si bien Watcom C generaba código ligeramente más rápido, la revista afirmó que los desarrolladores "podrían seguir prefiriendo las herramientas más amigables y potentes de Microsoft". [ 77 ]
Referencias
- 1 2 "Visual C++ añade soporte para Windows" . InfoWorld . 22 de febrero de 1993. pág. 17.
- ↑ "Últimas descargas compatibles de Microsoft Visual C++ Redistributable" . Microsoft Learn . Consultado el 15 de junio de 2026 .
- ↑ Lextrait, Vincent (enero de 2010). "The Programming Languages Beacon, v10.0" . Recuperado el 14 de marzo de 2010 .
{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ↑ "¿Necesito estos paquetes redistribuibles de Microsoft Visual C++?" . ¡Pregúntale a Leo! Consultado el 18 de noviembre de 2012.
- ↑ Lenguaje informático - Número 06 (1985-02) (CL Publications) (EE. UU.) . Febrero de 1985.
- ↑ Leibson, Steve (1985-02-01). "Reseñas de software: un equipo de expertos analiza 21 compiladores de C" . Computer Language . Recuperado el 2020-06-05 .
- ↑ Ladd, Scott Robert (1 de agosto de 1990). "Optimización con Microsoft C 6.0" . Dr. Dobb's Journal . Archivado del original el 3 de julio de 2023.
- ↑ Myers, Ben (1992-07-01). "Microsoft C/C++" . PC Magazine . Ziff Davis . pág. 387. Recuperado el 21-12-2023 .
- ↑ "Se anuncian novedades/proyectos de software" . InfoWorld . InfoWorld Media Group. 15 de marzo de 1993. Consultado el 21 de diciembre de 2023 .
- ↑ Obtenido de http://support.microsoft.com/kb/196831 .
- 1 2 "Visual C++ es una herramienta de desarrollo potente" . InfoWorld . 21 de junio de 1993, pág. 94. Consultado el 7 de abril de 2025 .
- ↑ "Los extensores DOS rivales debutan en la feria" . InfoWorld . 1 de marzo de 1993. pág. 18.
- ↑ "Visual C++ 1.5 integra OLE y ODBC" . InfoWorld . 8 de noviembre de 1993. pág. 5.
- ↑ "Microsoft se prepara para el lanzamiento preliminar de Visual C++ de 32 bits" . InfoWorld . 19 de julio de 1993. pág. 12.
- ↑ "Los IDE de C++ evolucionan" . InfoWorld . 4 de abril de 1994. pág. 79.
- ↑ "Estrategia de Microsoft Visual C++" .
- 1 2 Cullens, Chane; Blackwell, Ken (1995). Desarrollo multiplataforma con Visual C++ . M&T Books. ISBN 1-55851-428-7Consultado el 27 de enero de 2024 .
- ↑ Plamondon, James (9 de octubre de 1997). "Cronología de la evangelización generalizada" (PDF) . Microsoft Corporation. Archivado del original (PDF) el 2 de febrero de 2007. Consultado el 27 de enero de 2024 .
- 1 2 "Productos obsoletos" . Archivado del original el 14 de agosto de 2005.
- ↑ Toth, Viktor (1996). "1" . Visual C++ 4.0 desatado . Indianápolis: SAMS Publishing . ISBN 9780672308741Consultado el 26 de julio de 2013 .
- ↑ "Historia de Visual Studio (Parte 3)" . 6 de agosto de 2021.
- ↑ "Cambios importantes de Visual C++ 4.0 a 4.2" . Archivado del original el 28 de febrero de 2010. Consultado el 18 de abril de 2018 .
- ↑ "Cambios importantes de Visual C++ 4.2 a 5.0" .
- ↑ "Microsoft Visual C++ 5.0 Learning Edition" . Microsoft . Archivado del original el 27 de abril de 1999.
- ↑ "Microsoft Visual C++ 5.0 Professional Edition" . Microsoft . Archivado del original el 27 de abril de 1999.
- ↑ "Microsoft Visual C++ 5.0 Enterprise Edition" . Microsoft . Archivado del original el 17 de abril de 1999.
- ↑ "Microsoft Visual C++ 5.0 RISC Edition" . Microsoft . Archivado del original el 29 de abril de 1999.
- ↑ Shields, Nathan P. (8 de junio de 2018). "Denuncia penal" . Departamento de Justicia de los Estados Unidos . pág. 128.
Esto por sí solo no es un vínculo decisivo, ya que Visual C++ 6.0, lanzado en 1998, todavía tiene defensores principalmente porque no requiere la instalación del marco .NET de Microsoft para ejecutarse, como sí lo requieren las versiones posteriores de Visual C++.
- ↑ "Cambios importantes de Visual C++ 5.0 a 6.0" . Archivado del original el 14 de septiembre de 2008.
- ↑ Esta página destaca que los usuarios también deben estar ejecutando Windows 98, Windows NT 4.0 o Windows 2000. Obtenido de http://msdn2.microsoft.com/en-us/vstudio/aa718349.aspx .
- ↑ Douglas Boling : Programación de Microsoft Windows CE .NET, Tercera edición Microsoft Press; 3.ª edición (25 de junio de 2003) Tapa blanda: 1264 páginas ISBN 978-0735618848- CD complementario con Microsoft eMbedded Visual C++ 4.0 Service Pack 2. Enlace obsoleto archivado el 11/02/2013 en archive.today.
- ↑ Cómo: Modificar WINVER y _WIN32_WINNT
- ↑ Cambios importantes
- ↑ Plataformas Windows (CRT)
- ↑ "Cambios importantes en Visual C++ 2008" . 25 de mayo de 2023.
- ↑ Blog del equipo de Visual C++. "IntelliSense, parte 2: El futuro" . Consultado el 12 de marzo de 2008 .
- ↑ "Por qué IntelliSense no es compatible con C++/CLI en Visual Studio 2010" . Consultado el 13 de marzo de 2011 .
- ↑ Blog del equipo de Visual C++ (27 de mayo de 2009). "Reconstruyendo Intellisense" .
- ↑ Blog del equipo de Visual C++. "Generación de código Visual C++ en Visual Studio 2010" .
- ↑ "Características principales del lenguaje C++0x en VC10: La tabla" .
- ↑ "Stephan T. Lavavej: Todo lo que siempre quisiste saber sobre nullptr" .
- ↑ Blog del SDK de Microsoft Windows. "Lanzamiento: SDK de Windows para Windows 7 y .NET Framework 4" .
- ↑ CORRECCIÓN: Los compiladores de Visual C++ se eliminan al actualizar Visual Studio 2010 Professional o Visual Studio 2010 Express a Visual Studio 2010 SP1 si está instalado Windows SDK v7.1.
- ↑ "Novedades de Visual C++ en Visual Studio 2012" . Microsoft Developer Network . Microsoft. 29 de noviembre de 2012. Consultado el 20 de septiembre de 2015 .
- ↑ "Novedades de Visual C++ en Visual Studio 2013" . Microsoft Developer Network . Microsoft. 28 de abril de 2015. Consultado el 20 de septiembre de 2015 .
- ↑ Eric Battalio (20 de julio de 2015). "Visual Studio 2015 RTM ya está disponible" . Blog del equipo de Visual C++ . Microsoft.
- ↑ Stephan T. Lavavej (19 de junio de 2015). "Características de C++11/14/17 en VS 2015 RTM" . Blog del equipo de Visual C++ . Microsoft.
- ↑ Análisis de la inserción automática de telemetría de Microsoft en binarios C++
- ↑ "¿Visual Studio agrega llamadas a funciones de telemetría al binario? • /r/cpp" . reddit . 7 de mayo de 2016. Consultado el 17 de agosto de 2016 .
- ↑ Julia Liuson (7 de marzo de 2017). "Anuncio de la disponibilidad general de Visual Studio 2017... y más" . Blog del equipo de Visual Studio . Microsoft.
- ↑ John Montgomery (2 de abril de 2019). "Visual Studio 2019: Codifica más rápido. Trabaja de forma más inteligente. Crea el futuro" . Blog del equipo de Visual Studio . Microsoft.
- ↑ Amanda Silver (8 de noviembre de 2021). "Visual Studio 2022 ya está disponible" . Blog del equipo de Visual Studio . Microsoft.
- ↑ Mark Downie (21 de mayo de 2024). "Visual Studio 2022 17.10 y GitHub Copilot: Tu socio de codificación para un desarrollo más rápido e inteligente" . Blog del equipo de Visual Studio . Microsoft.
- ↑ Mads Kristensen (11 de noviembre de 2025). "Visual Studio 2026 ya está aquí: más rápido, más inteligente y un éxito entre los primeros usuarios" . Blog del equipo de Visual Studio . Microsoft.
- ↑ "Macros de compilador predefinidas / Wiki / Compiladores" . dev.to. 22 de mayo de 2018. Consultado el 20 de febrero de 2023 .
- ↑ "Macros predefinidas / Microsoft Learn" . learn.microsoft.com . 8 de agosto de 2022. Consultado el 26 de mayo de 2023 .
- ↑ Microsoft MSDN: Cambios importantes en Visual C++
- ↑ Microsoft MSDN: Contenedores (C++ moderno)
- ↑ Microsoft MSDN: Portabilidad en los límites de la ABI (C++ moderno)
- ↑ Foro de Microsoft: Compatibilidad binaria entre versiones de Visual C++. Enlace obsoleto archivado el 16/02/2013 en archive.today.
- ↑ docs.microsoft.com: Compatibilidad binaria de C++ entre Visual Studio 2015, 2017 y 2019
- 1 2 Bibliotecas de tiempo de ejecución de C
- ↑ "Compatibilidad" . Microsoft: Características de la biblioteca CRT . 26 de octubre de 2022.
- ↑ "Soporte para C99" . Microsoft Connect . Archivado del original el 4 de marzo de 2016. Consultado el 21 de septiembre de 2015 .
- ↑ "Novedades de Visual C++ en Visual Studio 2013" . Microsoft Developer Network . Microsoft. 28 de abril de 2015.
- ↑ Pat Brenner (19 de julio de 2013). "Compatibilidad con la biblioteca C99 en Visual Studio 2013" . Blog del equipo de Visual C++ . Microsoft.
- ↑ "Novedades de Visual C++ en Visual Studio 2015" . Microsoft Developer Network . Microsoft. 3 de enero de 2018.
- ↑ "Tutorial: Compilar un programa en C desde la línea de comandos" . Documentación de Visual C++ . Microsoft. 10 de mayo de 2022.
- ↑ "MSVC 2017 no admite _Generic (macros genéricas de tipo) en C" .
- ↑ Luvsanbat, Bat-Ulzii (6 de julio de 2018). "Avances del preprocesador MSVC hacia la conformidad" . Blog del equipo de Visual Studio . Microsoft. Archivado del original el 3 de marzo de 2024.
- ↑ "Características y correcciones de C++20" . Reddit . 3 de julio de 2020.
- ↑ "Llega el soporte estándar para C11 y C17 a MSVC" . 14 de septiembre de 2020.
- ↑ "C11 Atomics en Visual Studio 2022 versión 17.5 Preview 2" . 13/12/2022.
- ↑ "Subprocesos C11 en Visual Studio 2022 versión 17.8 Preview 2" . 26/09/2023.
- ↑ Murphy, Adrian (14 de noviembre de 2023). "¡Visual Studio 17.8 ya está disponible!" . Blog de Visual Studio . Consultado el 12 de enero de 2024 .
- ↑ "MSVC ahora admite la búsqueda de nombres en dos fases" . 11 de septiembre de 2017.
- ↑ Apiki, Steven; Udell, Jon (febrero de 1989). "Smoothing Out C" . BYTE . págs. 170–186 . Recuperado el 8 de octubre de 2024 .
Lecturas adicionales
- Johnson, Brian (8 de agosto de 2004). "Creación de aplicaciones Win32 con Visual C++ 2005 Express" . Blog de Brian Johnson para desarrolladores emergentes . Microsoft – a través del archivo de Microsoft Docs.
- Springfield, Jim (25 de septiembre de 2015). "Rejuvenecimiento del compilador Microsoft C/C++" . Blog del equipo de C++ . Microsoft.
Enlaces externos
- Sitio web oficial
- Herramientas y características de C++ en las ediciones de Visual Studio
- Herramientas de compilación de Microsoft C++
- C9::GoingNative en el Canal 9 de Microsoft
- Software de 1993
- Compiladores de C (lenguaje de programación)
- compiladores de C++
- entornos de desarrollo integrados
- Herramientas de desarrollo de Microsoft
- Microsoft Visual Studio