Microsoft Visual C++-Compilerversionsverwaltung

Die Microsoft Visual C++-Compilerversion besteht aus vier Feldern:

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

Microsoft-spezifische 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, lautet beispielsweise 19.39.33519:

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

Die Makros spiegeln die folgenden Werte wider:

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

Hinweis

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

Kurzer Verlauf der Visual C++-Compilerversionsverwaltung

Visual Studio 6.0 bis Visual Studio 2015 (14.0)

  • Bei Hauptveröffentlichungen _MSC_VER steigt der Anstieg um 100. _MSC_FULL_VER steigt um 10.000.000.

  • Bei Nebenversionen _MSC_VER steigt dies um 10. _MSC_FULL_VER steigt um 1.000.000.

    Hinweis

    Visual Studio .NET 2003 wurde als Nebenversion betrachtet.

Visual Studio 2017 und höher

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

Dienstversionen ab Visual Studio 2017

Wartungsversionen können durch _MSC_FULL_VERunterschieden werden. Das Buildfeld (die 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 16.8 von 16.9 und Visual Studio 2019 16.10 von 16.11 zu unterscheiden. Der Grund dafür ist, dass diese Versionen dieselben Haupt- und Nebenversionen verwenden und daher denselben Wert für _MSC_VER.

Um diese Versionen zu unterscheiden, verwenden Sie _MSC_FULL_VER.
Der Mindestwert für _MSC_FULL_VER Visual Studio 2019 16.8 ist 192829333.
Der Mindestwert für _MSC_FULL_VER Visual Studio 2019 16.9 ist 192829910.

Versionsmakros

Erinnern Sie sich 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 stellt die Haupt-, Neben- und Buildversion des Compilers dar. Es hat die Form: MMNNBBBBB. Verwenden Sie sie, um zwischen verschiedenen Versionen des Compilers zu unterscheiden, einschließlich Wartungsversionen. Weitere Informationen zu Visual Studio 2019 2019 16.8, 16.9, 16.10 und 16.11 finden Sie unter Dienstversionen ab Visual Studio 2017 .

_MSC_BUILD stellt die Buildversion des Compilers dar. Es hat das Format: R. Verwenden Sie es, um zwischen Wartungsversionen zu unterscheiden.

Wenn sich die Hauptversion zwischen Visual Studio 2013 und Visual Studio 2015 geändert hat, _MSC_VER spiegelt sich die Änderung von 1800 auf 1900 wider.

Ein Beispiel für eine geringfügige Änderung ist von Visual Studio 2022 17.1 zu Visual Studio 2022 17.2. In diesem Fall _MSC_VER wurde von 1931 auf 1932 gewechselt.

In der folgenden Tabelle ist der Visual C++-Compiler _MSC_VER für jede Visual Studio-Version aufgeführt:

Visual Studio-Version _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) 1.900
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

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

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

Siehe auch

_MSC_VER
Blogbeitrag der Visual C++-Compilerversion