Управление версиями компилятора Microsoft Visual C++

Версия компилятора Microsoft Visual C++ состоит из четырех полей:

M — основная версия (две цифры)
N - дополнительная версия (две цифры)
B — версия сборки (пять цифр)
R — версия редакции

Макросы компилятора, относящиеся к Корпорации Майкрософт, кодируют следующие поля:

_MSC_VER = MMNN
_MSC_FULL_VER = MMNNBBBBB
_MSC_BUILD = R

Например, версия компилятора для Visual Studio 2022 версии 17.9.0 — 19.39.33519:

  • Основная версия — 19
  • Дополнительная версия — 39
  • Версия сборки — 33519
  • Версия редакции — 0

Макросы отражают следующие значения:

  • _MSC_VER = 1939
  • _MSC_FULL_VER = 193933519
  • _MSC_BUILD (редакция) — 0.

Примечание.

Visual Studio 2019 16.8 и 16.9 используют одни и те же основные и дополнительные версии, и поэтому имеют одинаковое значение _MSC_VER. Как и Visual Studio 2019 16.10 и 16.11. Чтобы отличить их, используйте _MSC_FULL_VER , как описано в выпусках служб, начиная с Visual Studio 2017.

Краткий журнал версий компилятора Visual C++

Visual Studio 6.0 до Visual Studio 2015 (14.0)

  • Для крупных выпусков _MSC_VER увеличивается на 100. _MSC_FULL_VER увеличивается на 10 000 000.

  • Для дополнительных выпусков _MSC_VER увеличивается на 10. _MSC_FULL_VER увеличивается на 1000 000.

    Примечание.

    Visual Studio .NET 2003 считается дополнительным выпуском.

Visual Studio 2017 и более поздних версий

  • Для крупных выпусков дополнительная версия увеличивается на 10.
  • Для дополнительных выпусков дополнительная версия увеличивается на 1 начиная с Visual Studio 2017 версии 15.3.

Выпуски служб, начиная с Visual Studio 2017

Выпуски обслуживания можно отличить._MSC_FULL_VER Поле сборки (BBBBB в номере версии MMNNBBBBB) обычно увеличивается на 1.

Например, в двух случаях _MSC_FULL_VER полезно различать Visual Studio 2019 16.8 от 16.9 и Visual Studio 2019 16.10 от 16.11. Это связано с тем, что эти версии используют одни и те же основные и дополнительные версии, и поэтому имеют то же значение для _MSC_VER.

Чтобы отличить эти версии, используйте _MSC_FULL_VER.
Минимальное значение _MSC_FULL_VER для Visual Studio 2019 16.8 равно 192829333.
Минимальное значение _MSC_FULL_VER для Visual Studio 2019 16.9 равно 192829910.

Макросы версии

Помните, что номер версии состоит из четырех полей:

M — основная версия (две цифры)
N - дополнительная версия (две цифры)
B — версия сборки (пять цифр)
R — версия редакции

_MSC_VER различает основные и незначительные выпуски. Он имеет форму: MMNN.

_MSC_FULL_VER представляет основную, дополнительную и сборку версии компилятора. Она имеет форму: MMNNBBBBB. Используйте его для различения разных версий компилятора, включая выпуски обслуживания. Дополнительные сведения о visual Studio 2017 и 16.11 см. в выпусках служб, начиная с Visual Studio 2019 16.8, 16.9, 16.10 и 16.11.

_MSC_BUILD представляет версию сборки компилятора. Она имеет форму: R. Используйте ее для различения выпусков обслуживания.

Когда основная версия изменилась между Visual Studio 2013 и Visual Studio 2015, _MSC_VER отобразились изменения с 1800 по 1900.

Примером незначительных изменений является Visual Studio 2022 17.1 на Visual Studio 2022 17.2. В этом случае изменилось _MSC_VER с 1931 по 1932 год.

В следующей таблице перечислены компилятор _MSC_VER Visual C++ для каждого выпуска Visual Studio:

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

Visual Studio 2019 16.8 и 16.9 совместно используют одни и те же основные и дополнительные версии (и поэтому имеют одинаковое значение)._MSC_VER Чтобы отличить их, используйте _MSC_FULL_VER. Минимальное значение _MSC_FULL_VER для Visual Studio 2019 16.8 равно 192829333. Минимальное значение _MSC_FULL_VER для Visual Studio 2019 16.9 равно 192829910.

b Visual Studio 2019 16.10 и 16.11 совместно используют одни и те же основные и дополнительные версии (и поэтому имеют одинаковое значение)._MSC_VER Чтобы отличить их, используйте _MSC_FULL_VER. Минимальное значение _MSC_FULL_VER для Visual Studio 2019 16.10 равно 192929917. Минимальное значение _MSC_FULL_VER для Visual Studio 2019 16.11 равно 192930129.

См. также

_MSC_VER
Запись блога о версии компилятора Visual C++