Compartilhar via


Controle de versão do compilador Microsoft Visual C++

A versão do compilador do Microsoft Visual C++ consiste em quatro campos:

M - versão principal (dois dígitos)
N - versão secundária (dois dígitos)
B - versão de compilação (cinco dígitos)
R - versão de revisão

As macros do compilador específicas da Microsoft codificam esses campos da seguinte maneira:

_MSC_VER = MMNN
_MSC_FULL_VER = MMNNBBBBB
_MSC_BUILD = R

Por exemplo, a versão do compilador para Visual Studio 2022 versão 17.9.0 é 19.39.33519:

  • A versão principal é 19
  • A versão secundária é 39
  • A versão de compilação é 33519
  • A versão da revisão é 0

As macros refletem esses valores da seguinte forma:

  • _MSC_VER = 1939
  • _MSC_FULL_VER = 193933519
  • _MSC_BUILD (a revisão) é 0.

Observação

O Visual Studio 2019 16.8 e 16.9 compartilham as mesmas versões principais e secundárias e, portanto, têm o mesmo valor para _MSC_VER. Assim como o Visual Studio 2019 16.10 e 16.11. Para distingui-los, use _MSC_FULL_VER conforme descrito em Versões de serviço a partir do Visual Studio 2017.

Uma breve história do controle de versão do compilador do Visual C++

Visual Studio 6.0 até Visual Studio 2015 (14.0)

  • Para versões principais, _MSC_VER aumenta em 100. _MSC_FULL_VER aumenta em 10.000.000.

  • Para versões secundárias, _MSC_VER aumenta em 10. _MSC_FULL_VER aumenta em 1.000.000.

    Observação

    O Visual Studio .NET 2003 foi considerado uma versão secundária.

Visual Studio 2017 e posterior

  • Para versões principais, a versão secundária aumenta em 10.
  • Para versões secundárias, a versão secundária aumenta em 1 a partir do Visual Studio 2017 versão 15.3.

Versões de serviço começando com o Visual Studio 2017

As versões de manutenção podem ser diferenciadas por _MSC_FULL_VER. O campo de compilação (o BBBBB no número da versão MMNNBBBBB) normalmente aumenta em 1.

Por exemplo, dois casos em que _MSC_FULL_VER é útil é distinguir o Visual Studio 2019 16.8 da 16.9 e o Visual Studio 2019 16.10 da 16.11. Isso ocorre porque essas versões compartilham as mesmas versões principais e secundárias e, portanto, têm o mesmo valor para _MSC_VER.

Para distinguir essas versões, use _MSC_FULL_VER.
O valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.8 é 192829333.
O valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.9 é 192829910.

Macros de versão

Lembre-se de que o número da versão consiste em quatro campos:

M - versão principal (dois dígitos)
N - versão secundária (dois dígitos)
B - versão de compilação (cinco dígitos)
R - versão de revisão

_MSC_VER distingue entre versões principais e secundárias. Tem a forma: MMNN.

_MSC_FULL_VER representa a versão principal, secundária e de compilação do compilador. Tem a forma: MMNNBBBBB. Use-o para distinguir entre diferentes versões do compilador, incluindo versões de manutenção. Consulte Versões de serviço começando com o Visual Studio 2017 para obter mais informações sobre o Visual Studio 2019 16.8, 16.9, 16.10 e 16.11.

_MSC_BUILD representa a versão de compilação do compilador. Ele tem o formato: R. Use-o para distinguir entre versões de manutenção.

Quando a versão principal foi alterada entre o Visual Studio 2013 e o Visual Studio 2015, _MSC_VER refletiu a alteração passando de 1800 para 1900.

Um exemplo de uma pequena alteração é do Visual Studio 2022 17.1 para o Visual Studio 2022 17.2. Nesse caso, _MSC_VER mudou de 1931 para 1932.

A tabela a seguir lista o compilador _MSC_VER do Visual C++ para cada versão do Visual Studio:

Versão do Visual Studio _MSC_VER
Visual Studio 6.0 1200
Visual Studio .NET 2002 (7.0) 1300
Visual Studio .NET 2003 (7.1) 10:13
Visual Studio 2005 (8.0) 1400
Visual Studio 2008 (9.0) 1500
Visual Studio 2010 (10.0) 1600
Visual Studio 2012 (11.0) 1.700
Visual Studio 2013 (12.0) 1800
Visual Studio 2015 (14.0) 1900
Visual Studio 2017 RTW (15.0) 1910
Visual Studio 2017 versão 15.3 1911
Visual Studio 2017 versão 15.5 1912
Visual Studio 2017 versão 15.6 1913
Visual Studio 2017 versão 15.7 1914
Visual Studio 2017 versão 15.8 19:15
Visual Studio 2017 versão 15.9 19:16
Visual Studio 2019 RTW 16.0 1920
Visual Studio 2019 versão 16.1 1921
Visual Studio 2019 versão 16.2 22:19
Visual Studio 2019 versão 16.3 1923
Visual Studio 2019 versão 16.4 1924
Visual Studio 2019 versão 16.5 1925
Visual Studio 2019 versão 16.6 1926
Visual Studio 2019 versão 16.7 19:27
Visual Studio 2019 versão 16.8, 16.9 a 1,928
Visual Studio 2019 versão 16.10, 16.11 b 19:29
Visual Studio 2022 RTW 17.0 1930
Visual Studio 2022 versão 17.1 1,931
Visual Studio 2022 versão 17.2 1932
Visual Studio 2022 versão 17.3 1,933
Visual Studio 2022 versão 17.4 1,934
Visual Studio 2022 versão 17.5 19:35
Visual Studio 2022 versão 17.6 1,936
Visual Studio 2022 versão 17.7 1,937
Visual Studio 2022 versão 17.8 1938
Visual Studio 2022, Versão 17.9 1939
Visual Studio 2022 versão 17.10 1,940

um Visual Studio 2019 16.8 e 16.9 compartilham as mesmas versões principais e secundárias (e, portanto, têm o mesmo valor para _MSC_VER). Para distingui-los, use _MSC_FULL_VER. O valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.8 é 192829333. O valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.9 é 192829910.

b O Visual Studio 2019 16.10 e 16.11 compartilham as mesmas versões principais e secundárias (e, portanto, têm o mesmo valor para _MSC_VER). Para distingui-los, use _MSC_FULL_VER. O valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.10 é 192929917. O valor mínimo de _MSC_FULL_VER para Visual Studio 2019 16.11 é 192930129.

Confira também

_MSC_VER
Postagem no blog da versão do compilador do Visual C++