Freigeben über


Microsoft C++-Compilerversionsverwaltung (MSVC)

Die Microsoft C++-Compilerversion (MSVC) besteht aus vier Feldern:

M: Hauptversion (zwei Ziffern)
N: Nebenversion (zwei Ziffern)
B: Buildversion (fünf Ziffern)
R: Revisionsversion

Die Microsoft-spezifischen Compilermakros codieren diese Felder wie folgt:

_MSC_VER = MMNN
_MSC_FULL_VER = MMNNBBBBB
_MSC_BUILD = R

Die Compilerversion für Visual Studio 2022 Version 17.9.0 ist beispielsweise 19.39.33519:

  • Die Hauptversion ist 19
  • Die Nebenversion ist 39
  • Die Buildversion ist 33519
  • Die Revisionsversion ist 0

Die Makros spiegeln diese Werte folgendermaßen wider:

  • _MSC_VER = 1939
  • _MSC_FULL_VER = 193933519
  • _MSC_BUILD (die Revision) ist 0.

Note

Die Versionen 16.8 und 16.9 von Visual Studio 2019 verwenden die gleichen Haupt- und Nebenversionen und weisen daher denselben Wert für _MSC_VER. Wie visual Studio 2019, Versionen 16.10 und 16.11. Um sie voneinander zu unterscheiden, verwenden Sie _MSC_FULL_VER wie in Service-Versionen ab Visual Studio 2017 beschrieben ist.

Kurzer Verlauf der Microsoft C++-Compilerversionsverwaltung

Visual Studio 6.0 bis Visual Studio 2015 (14.0)

  • Bei Hauptversionen erhöht sich _MSC_VER um 100 an. _MSC_FULL_VER erhöht sich um 10.000.000.

  • Bei Nebenversionen erhöht sich _MSC_VER um 10. _MSC_FULL_VER erhöht sich um 1.000.000.

    Note

    Visual Studio .NET 2003 wurde als Nebenversion betrachtet.

Visual Studio 2017 zu Visual Studio 2022

  • Bei Hauptversionen erhöht sich die Nebenversion um 10.
  • Bei Nebenversionen erhöht sich die Nebenversion ab Visual Studio 2017 Version 15.3 um 1.

Visual Studio 2026 und höher

  • Die Compiler-Nebenversion wird in Bezug auf Visual Studio-Versionsupdates nicht mehr erhöht.
  • Die Nebenversion erhöht sich um 1 mit jeder neuen MSVC-Version.
  • Nicht jede neue Visual Studio-Version enthält eine neue MSVC-Compilerversion.

Dienstversionen ab Visual Studio 2017

Wartungsversionen werden durch _MSC_FULL_VERunterschieden. Das Buildfeld (BBBBB in der MMNNBBB-Versionsnummer) erhöht sich in der Regel um 1.

Beispielsweise sind zwei Fälle _MSC_FULL_VER hilfreich, um Visual Studio 2019, Version 16.8, von 16.9 und Visual Studio 2019, Version 16.10 von 16.11 zu unterscheiden. Und das deshalb, weil diese Versionen dieselben Haupt- und Nebenversionen verwenden und daher denselben Wert für _MSC_VER aufweisen.

Verwenden Sie _MSC_FULL_VER, um diese Versionen voneinander zu unterscheiden.
Der Mindestwert für _MSC_FULL_VER Visual Studio 2019, Version 16.8, ist 192829333.
Der Mindestwert für _MSC_FULL_VER Visual Studio 2019, Version 16.9, ist 192829910.

Versionsmakros

Denken Sie daran, dass die Versionsnummer aus vier Feldern besteht:

M: Hauptversion (zwei Ziffern)
N: Nebenversion (zwei Ziffern)
B: Buildversion (fünf Ziffern)
R: Revisionsversion

_MSC_VER unterscheidet zwischen Haupt- und Nebenversionen. Sie hat das Format: MMNN.

_MSC_FULL_VER steht für die Haupt-, Neben- und Buildversion des Compilers. Sie hat das Format: MMNNBBBBB. Verwenden Sie sie, um zwischen verschiedenen Compilerversionen zu unterscheiden, einschließlich Dienstversionen. Weitere Informationen zu Visual Studio 2019-Versionen 16.8, 16.9, 16.10 und 16.11 finden Sie unter Dienstversionen ab Visual Studio 2017.

_MSC_BUILD steht für die Buildversion des Compilers. Sie hat das Format: R. Verwenden Sie sie, um zwischen Dienstversionen zu unterscheiden.

Als sich die Hauptversion zwischen Visual Studio 2013 und Visual Studio 2015 geändert hat, spiegelte _MSC_VER die Änderung wieder, indem sie sich von 1800 auf 1900 geändert hat.

Ein Beispiel für eine geringfügige Änderung ist von Visual Studio 2022, Version 17.1, zu Visual Studio 2022, Version 17.2. In diesem Fall hat sich _MSC_VER von 1931 auf 1932 geändert.

Die folgende Tabelle enthält die Visual Studio-Version, die jedem Microsoft C++-Compiler (_MSC_VER) und MSVC Build Tools-Release entspricht:

Visual Studio-Version _MSC_VER MSVC Build Tools-Version
Visual Studio 6.0 1200 6.0
Visual Studio .NET 2002 (7.0) 1300 7.0
Visual Studio .NET 2003 (7.1) 1310 7.1
Visual Studio 2005 (8.0) 1400 8.0
Visual Studio 2008 (9.0) 1500 9.0
Visual Studio 2010 (10.0) 1600 10.0
Visual Studio 2012 (11.0) 1700 11.0
Visual Studio 2013 (12.0) 1800 12.0
Visual Studio 2015 (14.0) 1900 14.0
Visual Studio 2017 RTW (15.0) 1910 14.10
Visual Studio 2017 Version 15.3 1911 14.11
Visual Studio 2017 Version 15.5 1912 14.12
Visual Studio 2017 Version 15.6 1913 14.13
Visual Studio 2017-Version 15.7 1914 14.14
Visual Studio 2017 Version 15.8 1915 14.15
Visual Studio 2017 Version 15.9 1916 14.16
Visual Studio 2019 RTW 16.0 1920 14.20
Visual Studio 2019 Version 16.1 1921 14.21
Visual Studio 2019 Version 16.2 1922 14.22
Visual Studio 2019, Version 16.3 1923 14.23
Visual Studio 2019 Version 16.4 1924 14.24
Visual Studio 2019 Version 16.5 1925 14.25
Visual Studio 2019 Version 16.6 1926 14.26
Visual Studio 2019, Version 16.7 1927 14.27
Visual Studio 2019, Version 16.8, 16.9 a 1928 14.28
Visual Studio 2019, Version 16.10, 16.11 b 1929 14.29
Visual Studio 2022 RTW 17.0 1930 14.30
Visual Studio 2022 Version 17.1 1931 14.31
Visual Studio 2022, Version 17.2 1932 14.32
Visual Studio 2022, Version 17.3 1933 14.33
Visual Studio 2022, Version 17.4 1934 14.34
Visual Studio 2022, Version 17.5 1935 14.35
Visual Studio 2022 Version 17.6 1936 14.36
Visual Studio 2022, Version 17.7 1937 14,37
Visual Studio 2022, Version 17.8 1938 14.38
Visual Studio 2022, Version 17.9 1939 14.39
Visual Studio 2022 Version 17.10 1940 14.40
Visual Studio 2022, Version 17.11 1941 14.41
Visual Studio 2022, Version 17.12 1942 14.42
Visual Studio 2022, Version 17.13 1943 14.43
Visual Studio 2022, Version 17.14 1944 14.44

Die Visual Studio 2019-Versionen 16.8 und 16.9 haben die gleichen Haupt- und Nebenversionen (und haben daher denselben Wert für _MSC_VER). Um sie voneinander zu unterscheiden, verwenden Sie _MSC_FULL_VER. Der Mindestwert für _MSC_FULL_VER Visual Studio 2019, Version 16.8, ist 192829333. Der Mindestwert für _MSC_FULL_VER Visual Studio 2019, Version 16.9, ist 192829910.

b Die Versionen 16.10 und 16.11 von Visual Studio 2019 verwenden die gleichen Haupt- und Nebenversionen (und haben daher denselben Wert für _MSC_VER). Um sie voneinander zu unterscheiden, verwenden Sie _MSC_FULL_VER. Der Mindestwert für _MSC_FULL_VER Visual Studio 2019, Version 16.10, ist 192929917. Der Mindestwert für _MSC_FULL_VER Visual Studio 2019, Version 16.11, ist 192930129.

Siehe auch

_MSC_VER
Blogbeitrag der Visual C++-Compilerversion