Controllo delle versioni del compilatore Microsoft Visual C++

La versione del compilatore Microsoft Visual C++ è costituita da quattro campi:

M - versione principale (due cifre)
N - versione secondaria (due cifre)
B - versione build (cinque cifre)
R - Versione revisione

Le macro del compilatore specifiche di Microsoft codificano questi campi nel modo seguente:

_MSC_VER = MMNN
_MSC_FULL_VER = MMNNBBBBBBB
_MSC_BUILD = R

Ad esempio, la versione del compilatore per Visual Studio 2022 versione 17.9.0 è 19.39.33519:

  • La versione principale è 19
  • La versione secondaria è 39
  • La versione build è 33519
  • La versione della revisione è 0

Le macro riflettono questi valori come segue:

  • _MSC_VER = 1939
  • _MSC_FULL_VER = 193933519
  • _MSC_BUILD (la revisione) è 0.

Nota

Visual Studio 2019 16.8 e 16.9 condividono le stesse versioni principali e secondarie e quindi hanno lo stesso valore per _MSC_VER. Come in Visual Studio 2019 16.10 e 16.11. Per distinguerli, usare _MSC_FULL_VER come descritto in Versioni del servizio a partire da Visual Studio 2017.

Breve cronologia del controllo delle versioni del compilatore Visual C++

Da Visual Studio 6.0 a Visual Studio 2015 (14.0)

  • Per le versioni principali, _MSC_VER aumenta di 100. _MSC_FULL_VER aumenta di 10.000.000.

  • Per le versioni secondarie, _MSC_VER aumenta di 10. _MSC_FULL_VER aumenta di 1.000.000.

    Nota

    Visual Studio .NET 2003 è stato considerato una versione secondaria.

Visual Studio 2017 e versioni successive

  • Per le versioni principali, la versione secondaria aumenta di 10.
  • Per le versioni secondarie, la versione secondaria aumenta di 1 a partire da Visual Studio 2017 versione 15.3.

Versioni del servizio a partire da Visual Studio 2017

Le versioni di manutenzione possono essere distinte da _MSC_FULL_VER. Il campo di compilazione (BBBBB nel numero di versione MMNNBBBBB) aumenta in genere di 1.

Ad esempio, due casi in cui _MSC_FULL_VER è utile è distinguere Visual Studio 2019 16.8 da 16.9 e Visual Studio 2019 16.10 da 16.11. Ciò è dovuto al fatto che queste versioni condividono le stesse versioni principali e secondarie e quindi hanno lo stesso valore per _MSC_VER.

Per distinguere queste versioni, usare _MSC_FULL_VER.
Il valore minimo di _MSC_FULL_VER per Visual Studio 2019 16.8 è 192829333.
Il valore minimo di _MSC_FULL_VER per Visual Studio 2019 16.9 è 192829910.

Macro della versione

Tenere presente che il numero di versione è costituito da quattro campi:

M - versione principale (due cifre)
N - versione secondaria (due cifre)
B - versione build (cinque cifre)
R - Versione revisione

_MSC_VER distingue tra le versioni principali e secondarie. Ha il formato MMNN.

_MSC_FULL_VER rappresenta la versione principale, secondaria e build del compilatore. Ha il formato MMNNBBBBB. Usarlo per distinguere le diverse versioni del compilatore, incluse le versioni di manutenzione. Per altre informazioni su Visual Studio 2019 16.11, vedere Versioni del servizio a partire da Visual Studio 2017 16.8, 16.9, 16.10 e 16.11.

_MSC_BUILD rappresenta la versione di compilazione del compilatore. Ha il formato R. Usarlo per distinguere tra le versioni di manutenzione.

Quando la versione principale è cambiata tra Visual Studio 2013 e Visual Studio 2015, _MSC_VER riflettendo la modifica passando da 1800 a 1900.

Un esempio di modifica secondaria è da Visual Studio 2022 17.1 a Visual Studio 2022 17.2. In tal caso, _MSC_VER è cambiato dal 1931 al 1932.

La tabella seguente elenca il compilatore _MSC_VER Visual C++ per ogni versione di Visual Studio:

Versione di 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) 1700
Visual Studio 2013 (12.0) 1800
Visual Studio 2015 (14.0) 1900
Visual Studio 2017 RTW (15.0) 1910
Visual Studio 2017 versione 15.3 1911
Visual Studio 2017 versione 15.5 1912
Visual Studio 2017 versione 15.6 1913
Visual Studio 2017 versione 15.7 1914
Visual Studio 2017 versione 15.8 1915
Visual Studio 2017 versione 15.9 1916
Visual Studio 2019 RTW 16.0 1920
Visual Studio 2019 versione 16.1 1921
Visual Studio 2019 versione 16.2 1922
Visual Studio 2019 versione 16.3 1923
Visual Studio 2019 versione 16.4 1924
Visual Studio 2019 versione 16.5 1925
Visual Studio 2019 versione 16.6 1926
Visual Studio 2019 versione 16.7 1927
Visual Studio 2019 versione 16.8, 16.9 a 1928
Visual Studio 2019 versione 16.10, 16.11 b 1929
Visual Studio 2022 RTW 17.0 1930
Visual Studio 2022 versione 17.1 1931
Visual Studio 2022 versione 17.2 1932
Visual Studio 2022 versione 17.3 1933
Visual Studio 2022 versione 17.4 1934
Visual Studio 2022 versione 17.5 1935
Visual Studio 2022 versione 17.6 1936
Visual Studio 2022 versione 17.7 1937
Visual Studio 2022 versione 17.8 1938
Visual Studio 2022 versione 17.9 1939
Visual Studio 2022 versione 17.10 1940

Visual Studio 2019 16.8 e 16.9 condividono le stesse versioni principali e secondarie (e quindi hanno lo stesso valore per _MSC_VER). Per distinguerle, usare _MSC_FULL_VER. Il valore minimo di _MSC_FULL_VER per Visual Studio 2019 16.8 è 192829333. Il valore minimo di _MSC_FULL_VER per Visual Studio 2019 16.9 è 192829910.

b Visual Studio 2019 16.10 e 16.11 condividono le stesse versioni principali e secondarie (e quindi hanno lo stesso valore per _MSC_VER). Per distinguerle, usare _MSC_FULL_VER. Il valore minimo di _MSC_FULL_VER per Visual Studio 2019 16.10 è 192929917. Il valore minimo di _MSC_FULL_VER per Visual Studio 2019 16.11 è 192930129.

Vedi anche

_MSC_VER
Post di blog sulla versione del compilatore Visual C++