Správa verzí kompilátoru Microsoft Visual C++

Verze kompilátoru Microsoft Visual C++ se skládá ze čtyř polí:

M – hlavní verze (dvě číslice)
N – podverze (dvě číslice)
B – verze sestavení (pět číslic)
R – verze revize

Makra kompilátoru specifická pro Microsoft kódují tato pole následujícím způsobem:

_MSC_VER = MMNN
_MSC_FULL_VER = MMNNBBBBB
_MSC_BUILD = R

Například verze kompilátoru pro Visual Studio 2022 verze 17.9.0 je 19.39.33519:

  • Hlavní verze je 19.
  • Podverze je 39.
  • Verze sestavení je 33519
  • Verze revize je 0.

Makra odpovídají těmto hodnotám:

  • _MSC_VER = 1939
  • _MSC_FULL_VER = 193933519
  • _MSC_BUILD (revize) je 0.

Poznámka:

Visual Studio 2019 16.8 a 16.9 sdílejí stejné hlavní a podverze a mají stejnou hodnotu pro _MSC_VER. Stejně jako v sadě Visual Studio 2019 16.10 a 16.11. Pokud je chcete odlišit, použijte _MSC_FULL_VER je, jak je popsáno ve verzích služby počínaje sadou Visual Studio 2017.

Stručná historie správy verzí kompilátoru Visual C++

Visual Studio 6.0 až Visual Studio 2015 (14.0)

  • U hlavních verzí _MSC_VER se zvyšuje o 100. _MSC_FULL_VER zvyšuje o 10 000 000.

  • U menších verzí _MSC_VER se zvyšuje o 10. _MSC_FULL_VER zvyšuje o 1 000 000.

    Poznámka:

    Visual Studio .NET 2003 bylo považováno za podverzi.

Visual Studio 2017 a novější

  • U hlavních verzí se podverze zvýší o 10.
  • U dílčích verzí se podverze zvyšuje o 1 počínaje sadou Visual Studio 2017 verze 15.3.

Servisní vydání počínaje sadou Visual Studio 2017

Servisní verze lze rozlišit pomocí _MSC_FULL_VER. Pole sestavení (BBBBB v čísle verze MMNNBBB) se obvykle zvyšuje o 1.

Například dva případy, kdy _MSC_FULL_VER je užitečné odlišit Visual Studio 2019 16.8 od verze 16.9 a Visual Studio 2019 16.10 od verze 16.11. Je to proto, že tyto verze sdílejí stejné hlavní a podverze, a proto mají stejnou hodnotu pro _MSC_VER.

K rozlišení těchto verzí použijte _MSC_FULL_VER.
Minimální hodnota _MSC_FULL_VER sady Visual Studio 2019 16.8 je 192829333.
Minimální hodnota _MSC_FULL_VER sady Visual Studio 2019 16.9 je 192829910.

Makra verzí

Vzpomeňte si, že číslo verze se skládá ze čtyř polí:

M – hlavní verze (dvě číslice)
N – podverze (dvě číslice)
B – verze sestavení (pět číslic)
R – verze revize

_MSC_VER rozlišuje mezi hlavními a dílčími verzemi. Má tvar: MMNN.

_MSC_FULL_VER představuje hlavní, podverzi a verzi sestavení kompilátoru. Má tvar: MMNNBBBBB. Umožňuje rozlišovat mezi různými verzemi kompilátoru, včetně servisních verzí. Další informace o sadě Visual Studio 2019 16.8, 16.9, 16.10 a 16.10 a 16.11 najdete v tématech Vydání služeb počínaje sadou Visual Studio 2017 .

_MSC_BUILD představuje verzi sestavení kompilátoru. Má tvar: R. Slouží k rozlišení mezi servisními verzemi.

Když se hlavní verze mezi sadou Visual Studio 2013 a Visual Studio 2015 změnila, _MSC_VER projevila se změna přechodem z 1800 na 1900.

Příkladem menší změny je Visual Studio 2022 17.1 na Visual Studio 2022 17.2. V takovém případě se _MSC_VER změnilo z roku 1931 na 1932.

Následující tabulka uvádí kompilátor _MSC_VER Visual C++ pro každou verzi sady Visual Studio:

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

Visual Studio 2019 16.8 a 16.9 sdílejí stejné hlavní a podverze (a proto mají stejnou hodnotu pro _MSC_VER). Chcete-li je odlišit, použijte _MSC_FULL_VER. Minimální hodnota _MSC_FULL_VER sady Visual Studio 2019 16.8 je 192829333. Minimální hodnota _MSC_FULL_VER sady Visual Studio 2019 16.9 je 192829910.

b Visual Studio 2019 16.10 a 16.11 sdílejí stejné hlavní a podverze (a proto mají stejnou hodnotu pro _MSC_VER). Chcete-li je odlišit, použijte _MSC_FULL_VER. Minimální hodnota _MSC_FULL_VER sady Visual Studio 2019 16.10 je 192929917. Minimální hodnota _MSC_FULL_VER sady Visual Studio 2019 16.11 je 192930129.

Viz také

_MSC_VER
Blogový příspěvek o verzi kompilátoru Visual C++