Controle de versão do compilador do 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 de 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 de 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 começando com o Visual Studio 2017.

Um breve histórico do controle de versão do compilador do Visual C++

Visual Studio 6.0 até Visual Studio 2015 (14.0)

  • Para lançamentos principais, _MSC_VER aumenta em 100. _MSC_FULL_VER aumenta em 10.000.000.

  • Para versões menores, _MSC_VER aumenta em 10. _MSC_FULL_VER aumenta em 1.000.000.

    Observação

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

Visual Studio 2017 e posterior

  • Para lançamentos 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 distinguidas por _MSC_FULL_VER. O campo de compilação (o BBBBB no número de versão MMNNBBBBB) normalmente aumenta em 1.

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

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 lançamentos maiores e menores. 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 a forma: R. Use-o para distinguir entre liberaçõ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) 1310
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 1915
Visual Studio 2017 versão 15.9 1916
Visual Studio 2019 RTW 16.0 1920
Visual Studio 2019 versão 16.1 1921
Visual Studio 2019 versão 16.2 1922
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 1927
Visual Studio 2019 versão 16.8, 16.9 a 1928
Visual Studio 2019 versão 16.10, 16.11 b 1929
Visual Studio 2022 RTW 17.0 1930
Visual Studio 2022 versão 17.1 1931
Visual Studio 2022 versão 17.2 1932
Visual Studio 2022 versão 17.3 1933
Visual Studio 2022 versão 17.4 1934
Visual Studio 2022 versão 17.5 1935
Visual Studio 2022 versão 17.6 1936
Visual Studio 2022 versão 17.7 1937
Visual Studio 2022 versão 17.8 1938
Visual Studio 2022 versão 17.9 1939
Visual Studio 2022 versão 17.10 1940

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 de blog da versão do compilador do Visual C++