Control de versiones del compilador de Microsoft Visual C++

La versión del compilador de Microsoft Visual C++ consta de cuatro campos:

M: versión principal (dos dígitos)
N: versión secundaria (dos dígitos)
B: versión de compilación (cinco dígitos)
R: versión de revisión

Las macros del compilador específicas de Microsoft codifican estos campos de la siguiente manera:

_MSC_VER = MMNN
_MSC_FULL_VER = MMNNBBBBB
_MSC_BUILD = R

Por ejemplo, la versión del compilador para Visual Studio 2022 versión 17.9.0 es 19.39.33519:

  • La versión principal es 19
  • La versión secundaria es 39
  • La versión de compilación es 33519
  • La versión de revisión es 0

Las macros reflejan estos valores como este:

  • _MSC_VER = 1939
  • _MSC_FULL_VER = 193933519
  • _MSC_BUILD (la revisión) es 0.

Nota:

Visual Studio 2019 16.8 y 16.9 comparten las mismas versiones principales y secundarias, por lo que tienen el mismo valor para _MSC_VER. Como hace Visual Studio 2019 16.10 y 16.11. Para distinguirlos, use _MSC_FULL_VER como se describe en Versiones de servicio a partir de Visual Studio 2017.

Un breve historial del control de versiones del compilador de Visual C++

Visual Studio 6.0 a Visual Studio 2015 (14.0)

  • En el caso de las versiones principales, _MSC_VER aumenta en 100. _MSC_FULL_VER aumenta en 10 000 000.

  • En el caso de las versiones secundarias, _MSC_VER aumenta en 10. _MSC_FULL_VER aumenta en 1000 000.

    Nota:

    Visual Studio .NET 2003 se consideró una versión secundaria.

Visual Studio 2017 y versiones posteriores

  • En el caso de las versiones principales, la versión secundaria aumenta en 10.
  • En el caso de las versiones secundarias, la versión secundaria aumenta en 1 a partir de la versión 15.3 de Visual Studio 2017.

Versiones de servicio a partir de Visual Studio 2017

Las versiones de mantenimiento se pueden distinguir por _MSC_FULL_VER. El campo de compilación (el BBBBB en el número de versión MMNNBBBBB) normalmente aumenta en 1.

Por ejemplo, dos casos en _MSC_FULL_VER los que resulta útil es distinguir Visual Studio 2019 16.8 de 16.9 y Visual Studio 2019 16.10 de 16.11. Esto se debe a que esas versiones comparten las mismas versiones principales y secundarias, por lo que tienen el mismo valor para _MSC_VER.

Para distinguir estas versiones, use _MSC_FULL_VER.
El valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.8 es 192829333.
El valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.9 es 192829910.

Macros de versión

Recuerde que el número de versión consta de cuatro campos:

M: versión principal (dos dígitos)
N: versión secundaria (dos dígitos)
B: versión de compilación (cinco dígitos)
R: versión de revisión

_MSC_VER distingue entre las versiones principales y secundarias. Tiene la forma: MMNN.

_MSC_FULL_VER representa la versión principal, secundaria y de compilación del compilador. Tiene la forma: MMNNBBBBB. Úselo para distinguir entre distintas versiones del compilador, incluidas las versiones de mantenimiento. Consulte Versiones de servicio a partir de Visual Studio 2017 para obtener más información sobre Visual Studio 2019 16.8, 16.9, 16.10 y 16.11.

_MSC_BUILD representa la versión de compilación del compilador. Tiene el formato: R. Úselo para distinguir entre las versiones de mantenimiento.

Cuando la versión principal cambió entre Visual Studio 2013 y Visual Studio 2015, _MSC_VER reflejaba el cambio pasando de 1800 a 1900.

Un ejemplo de un cambio menor es de Visual Studio 2022 17.1 a Visual Studio 2022 17.2. En ese caso, _MSC_VER cambió de 1931 a 1932.

En la tabla siguiente se muestra el compilador _MSC_VER de Visual C++ para cada versión de Visual Studio:

Versión de Visual Studio _MSC_VER
Visual Studio 6.0 1200
Visual Studio .NET 2002 (7.0) 1300
Visual Studio .NET 2003 (7.1) 1310
Visual Studio 2005 (8.0) 1400
Visual Studio 2008 (9.0) 1500
Visual Studio 2010 (10.0) 1600
Visual Studio 2012 (11.0) 1700
Visual Studio 2013 (12.0) 1800
Visual Studio 2015 (14.0) 1900
Visual Studio 2017 RTW (15.0) 1910
Visual Studio 2017 versión 15.3 1911
Versión 15.5 de Visual Studio 2017 1912
Visual Studio 2017, versión 15.6 1913
Visual Studio 2017 versión 15.7 1914
Visual Studio 2017, versión 15.8 1915
Visual Studio 2017, versión 15.9 1916
Visual Studio 2019 RTW 16.0 1920
Visual Studio 2019, versión 16.1 1921
Visual Studio 2019, versión 16.2 1922
Visual Studio 2019, versión 16.3 1923
Visual Studio 2019, versión 16.4 1924
Visual Studio 2019, versión 16.5 1925
Visual Studio 2019, versión 16.6 1926
Visual Studio 2019 versión 16.7 1927
Visual Studio 2019, versión 16.8, 16.9 a 1928
Visual Studio 2019, versión 16.10, 16.11 b 1929
Visual Studio 2022 RTW 17.0 1930
Visual Studio 2022, versión 17.1 1931
Visual Studio 2022, versión 17.2 1932
Visual Studio 2022 versión 17.3 1933
Visual Studio 2022, versión 17.4 1934
Visual Studio 2022, versión 17.5 1935
Visual Studio 2022, versión 17.6 1936
Visual Studio 2022, versión 17.7 1937
Visual Studio 2022, versión 17.8 1938
Visual Studio 2022, versión 17.9 1939
Visual Studio 2022, versión 17.10 1940

Visual Studio 2019 16.8 y 16.9 comparten las mismas versiones principales y secundarias (y, por tanto, tienen el mismo valor para _MSC_VER). Para distinguirlos, use _MSC_FULL_VER. El valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.8 es 192829333. El valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.9 es 192829910.

b Visual Studio 2019 16.10 y 16.11 comparten las mismas versiones principales y secundarias (y, por tanto, tienen el mismo valor para _MSC_VER). Para distinguirlos, use _MSC_FULL_VER. El valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.10 es 192929917. El valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.11 es 192930129.

Consulte también

_MSC_VER
Entrada de blog de la versión del compilador de Visual C++