Contrôle de version du compilateur Microsoft Visual C++

La version du compilateur Microsoft Visual C++ se compose de quatre champs :

M - version majeure (deux chiffres)
N - version mineure (deux chiffres)
B - version de build (cinq chiffres)
R - version de révision

Les macros du compilateur spécifiques à Microsoft encodent ces champs comme suit :

_MSC_VER = MMNN
_MSC_FULL_VER = MMNNBBBBB
_MSC_BUILD = R

Par exemple, la version du compilateur pour Visual Studio 2022 version 17.9.0 est 19.39.33519 :

  • La version principale est 19
  • La version mineure est 39
  • La version de build est 33519
  • La version de révision est 0

Les macros reflètent ces valeurs comme suit :

  • _MSC_VER = 1939
  • _MSC_FULL_VER = 193933519
  • _MSC_BUILD (la révision) est 0.

Remarque

Visual Studio 2019 16.8 et 16.9 partagent les mêmes versions principales et mineures, et ont donc la même valeur pour _MSC_VER. Comme pour Visual Studio 2019 16.10 et 16.11. Pour les distinguer, utilisez-les _MSC_FULL_VER comme décrit dans les versions de Service à partir de Visual Studio 2017.

Un bref historique du contrôle de version du compilateur Visual C++

Visual Studio 6.0 à Visual Studio 2015 (14.0)

  • Pour les versions majeures, _MSC_VER augmente de 100. _MSC_FULL_VER augmente de 10 000 000.

  • Pour les versions mineures, _MSC_VER augmente de 10. _MSC_FULL_VER augmente de 1 000 000.

    Remarque

    Visual Studio .NET 2003 a été considéré comme une version mineure.

Visual Studio 2017 et versions ultérieures

  • Pour les versions majeures, la version mineure augmente de 10.
  • Pour les versions mineures, la version mineure augmente de 1 à compter de Visual Studio 2017 version 15.3.

Versions de service commençant par Visual Studio 2017

Les versions de maintenance peuvent être distinguées par _MSC_FULL_VER. Le champ de build (BBBBB dans le numéro de version MMNNBBBBB) augmente généralement de 1.

Par exemple, deux cas _MSC_FULL_VER sont utiles pour distinguer Visual Studio 2019 16.8 de la version 16.9 et Visual Studio 2019 16.10 de la version 16.11. C’est parce que ces versions partagent les mêmes versions principales et mineures, et ont donc la même valeur pour _MSC_VER.

Pour distinguer ces versions, utilisez _MSC_FULL_VER.
La valeur minimale de _MSC_FULL_VER Visual Studio 2019 16.8 est 192829333.
La valeur minimale de _MSC_FULL_VER Visual Studio 2019 16.9 est 192829910.

Macros de version

Rappelez-vous que le numéro de version se compose de quatre champs :

M - version majeure (deux chiffres)
N - version mineure (deux chiffres)
B - version de build (cinq chiffres)
R - version de révision

_MSC_VER fait la distinction entre les versions majeures et mineures. Il a la forme : MMNN.

_MSC_FULL_VER représente la version principale, mineure et build du compilateur. Il a la forme : MMNNBBBBB. Utilisez-la pour faire la distinction entre différentes versions du compilateur, y compris les versions de maintenance. Pour plus d’informations sur Visual Studio 2019 16.8, 16.9, 16.9 et 16.10 et 16.11, consultez les versions de service à partir de Visual Studio 2017 .

_MSC_BUILD représente la version de build du compilateur. Il a la forme suivante : R. Utilisez-le pour faire la distinction entre les versions de maintenance.

Lorsque la version principale a changé entre Visual Studio 2013 et Visual Studio 2015, _MSC_VER la modification est passée de 1800 à 1900.

Un exemple de modification mineure est de Visual Studio 2022 17.1 à Visual Studio 2022 17.2. Dans ce cas, _MSC_VER il est passé de 1931 à 1932.

Le tableau suivant répertorie le compilateur _MSC_VER Visual C++ pour chaque version de Visual Studio :

Version Visual Studio _MSC_VER
Visual Studio 6.0 1 200
Visual Studio .NET 2002 (7.0) 1 300
Visual Studio .NET 2003 (7.1) 1310
Visual Studio 2005 (8.0) 1400
Visual Studio 2008 (9.0) 1 500
Visual Studio 2010 (10.0) 1 600
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 version 15.3 1911
Visual Studio 2017 version 15.5 1912
Visual Studio 2017 version 15.6 1913
Visual Studio 2017 version 15.7 1914
Visual Studio 2017 version 15.8 1915
Visual Studio 2017 version 15.9 1916
Visual Studio 2019 RTW 16.0 1920
Visual Studio 2019 version 16.1 1921
Visual Studio 2019 version 16.2 1922
Visual Studio 2019 version 16.3 1923
Visual Studio 2019 version 16.4 1924
Visual Studio 2019 version 16.5 1925
Visual Studio 2019 version 16.6 1926
Visual Studio 2019 version 16.7 1927
Visual Studio 2019 version 16.8, 16.9 a 1928
Visual Studio 2019 version 16.10, 16.11 b 1929
Visual Studio 2022 RTW 17.0 1930
Visual Studio 2022 version 17.1 1931
Visual Studio 2022 version 17.2 1932
Visual Studio 2022 version 17.3 1933
Visual Studio 2022 version 17.4 1934
Visual Studio 2022 version 17.5 1935
Visual Studio 2022 version 17.6 1936
Visual Studio 2022 version 17.7 1937
Visual Studio 2022 version 17.8 1938
Visual Studio 2022 version 17.9 1939
Visual Studio 2022 version 17.10 1940

Visual Studio 2019 16.8 et 16.9 partagent les mêmes versions principales et mineures (et ont donc la même valeur pour _MSC_VER). Pour les distinguer, utilisez _MSC_FULL_VER. La valeur minimale de _MSC_FULL_VER Visual Studio 2019 16.8 est 192829333. La valeur minimale de _MSC_FULL_VER Visual Studio 2019 16.9 est 192829910.

b Visual Studio 2019 16.10 et 16.11 partagent les mêmes versions principales et mineures (et ont donc la même valeur pour _MSC_VER). Pour les distinguer, utilisez _MSC_FULL_VER. La valeur minimale de _MSC_FULL_VER Visual Studio 2019 16.10 est 192929917. La valeur minimale de _MSC_FULL_VER Visual Studio 2019 16.11 est 192930129.

Voir aussi

_MSC_VER
Billet de blog de la version du compilateur Visual C++