Bagikan melalui


Penerapan versi kompilator Microsoft C++ (MSVC)

Versi kompilator Microsoft C++ (MSVC) terdiri dari empat bidang:

M - versi utama (dua digit)
N - versi minor (dua digit)
B - versi build (lima digit)
R - versi revisi

Makro kompilator khusus Microsoft mengodekan bidang-bidang ini sebagai berikut:

_MSC_VER = MMNN
_MSC_FULL_VER = MMNNBBBBB
_MSC_BUILD = R

Misalnya, versi kompilator untuk Visual Studio 2022 versi 17.9.0 adalah 19.39.33519:

  • Versi utamanya adalah 19
  • Versi minornya adalah 39
  • Versi buildnya adalah 33519
  • Versi revisi adalah 0

Makro mencerminkan nilai-nilai ini seperti ini:

  • _MSC_VER = 1939
  • _MSC_FULL_VER = 193933519
  • _MSC_BUILD (revisi) adalah 0.

Note

Visual Studio 2019 versi 16.8 dan 16.9 memiliki versi utama dan minor yang sama, sehingga memiliki nilai yang sama untuk _MSC_VER. Seperti halnya Visual Studio 2019 versi 16.10 dan 16.11. Untuk membedakannya, gunakan _MSC_FULL_VER seperti yang dijelaskan dalam Rilis layanan yang dimulai dengan Visual Studio 2017.

Riwayat singkat penerapan versi kompilator Microsoft C++

Visual Studio 6.0 hingga Visual Studio 2015 (14.0)

  • Untuk rilis utama, _MSC_VER meningkat sebesar 100. _MSC_FULL_VER meningkat sebesar 10.000.000.

  • Untuk rilis minor, _MSC_VER meningkat 10. _MSC_FULL_VER meningkat sebesar 1.000.000.

    Note

    Visual Studio .NET 2003 dianggap sebagai rilis kecil.

Visual Studio 2017 ke Visual Studio 2022

  • Untuk rilis utama, versi minor meningkat sebesar 10.
  • Untuk rilis minor, versi minor meningkat 1 dimulai dengan Visual Studio 2017 versi 15.3.

Visual Studio 2026 dan yang lebih baru

  • Versi minor kompilator tidak lagi ditingkatkan terkait dengan pembaruan versi Visual Studio.
  • Versi minor bertambah 1 dengan setiap rilis MSVC baru.
  • Tidak setiap versi Visual Studio baru akan mengirimkan versi kompilator MSVC baru.

Rilis layanan dimulai dengan Visual Studio 2017

Rilis layanan dibedakan oleh _MSC_FULL_VER. Bidang build (BBBBB di nomor versi MMNNBBBBB) biasanya meningkat 1.

Misalnya, dua kasus di mana _MSC_FULL_VER berguna adalah membedakan Visual Studio 2019 versi 16.8 dari 16.9, dan Visual Studio 2019 versi 16.10 dari 16.11. Itu karena versi tersebut memiliki versi utama dan minor yang sama, sehingga memiliki nilai yang sama untuk _MSC_VER.

Untuk membedakan versi ini, gunakan _MSC_FULL_VER.
Nilai _MSC_FULL_VER minimum untuk Visual Studio 2019 versi 16.8 adalah 192829333.
Nilai _MSC_FULL_VER minimum untuk Visual Studio 2019 versi 16.9 adalah 192829910.

Makro versi

Ingat bahwa nomor versi terdiri dari empat bidang:

M - versi utama (dua digit)
N - versi minor (dua digit)
B - versi build (lima digit)
R - versi revisi

_MSC_VER membedakan antara rilis utama dan minor. Ini memiliki bentuk: MMNN.

_MSC_FULL_VER mewakili versi utama, minor, dan build pengkompilasi. Ini memiliki bentuk: MMNNBBBBB. Gunakan untuk membedakan antara versi kompilator yang berbeda, termasuk rilis layanan. Untuk informasi selengkapnya tentang Visual Studio 2019 versi 16.8, 16.9, 16.10 dan 16.11, lihat Rilis layanan yang dimulai dengan Visual Studio 2017.

_MSC_BUILD mewakili versi build pengkompilasi. Ini memiliki formulir: R. Gunakan untuk membedakan antara rilis layanan.

Ketika versi utama berubah antara Visual Studio 2013 dan Visual Studio 2015, _MSC_VER mencerminkan perubahan dengan beralih dari 1800 ke 1900.

Contoh perubahan kecil adalah dari Visual Studio 2022 versi 17.1 ke Visual Studio 2022 versi 17.2. Dalam hal ini, _MSC_VER berubah dari 1931 menjadi 1932.

Tabel berikut mencantumkan versi Visual Studio yang sesuai dengan setiap kompilator Microsoft C++ (_MSC_VER) dan rilis MSVC Build Tools:

Versi Visual Studio _MSC_VER Alat Build Versi MSVC
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 versi 15.3 1911 14.11
Visual Studio 2017 versi 15.5 1912 14.12
Visual Studio 2017 versi 15.6 1913 14.13
Visual Studio 2017 versi 15.7 1914 14.14
Visual Studio 2017 versi 15.8 1915 14.15
Visual Studio 2017 versi 15.9 1916 14.16
Visual Studio 2019 RTW 16.0 1920 14.20
Visual Studio 2019 versi 16.1 1921 14.21
Visual Studio 2019 versi 16.2 1922 14.22
Visual Studio 2019 versi 16.3 1923 14.23
Visual Studio 2019 versi 16.4 1924 14.24
Visual Studio 2019 versi 16.5 1925 14.25
Visual Studio 2019 versi 16.6 1926 14.26
Visual Studio 2019 versi 16.7 1927 14.27
Visual Studio 2019 versi 16.8, 16.9 a 1928 14.28
Visual Studio 2019 versi 16.10, 16.11 b 1929 14.29
Visual Studio 2022 RTW 17.0 1930 14.30
Visual Studio 2022 versi 17.1 1931 14.31
Visual Studio 2022 versi 17.2 1932 14.32
Visual Studio 2022 versi 17.3 1933 14.33
Visual Studio 2022 versi 17.4 1934 14.34
Visual Studio 2022 versi 17.5 1935 14.35
Visual Studio 2022 versi 17.6 1936 14.36
Visual Studio 2022 versi 17.7 1937 14.37
Visual Studio 2022 versi 17.8 1938 14.38
Visual Studio 2022 versi 17.9 1939 14.39
Visual Studio 2022 versi 17.10 1940 14.40
Visual Studio 2022 versi 17.11 1941 14.41
Visual Studio 2022 versi 17.12 1942 14.42
Visual Studio 2022 versi 17.13 1943 14.43
Visual Studio 2022 versi 17.14 1944 14.44

Visual Studio 2019 versi 16.8 dan 16.9 memiliki versi utama dan minor yang sama (dan karenanya memiliki nilai yang sama untuk _MSC_VER). Untuk membedakannya, gunakan _MSC_FULL_VER. Nilai _MSC_FULL_VER minimum untuk Visual Studio 2019 versi 16.8 adalah 192829333. Nilai _MSC_FULL_VER minimum untuk Visual Studio 2019 versi 16.9 adalah 192829910.

b Visual Studio 2019 versi 16.10 dan 16.11 berbagi versi utama dan minor yang sama (sehingga memiliki nilai yang sama untuk _MSC_VER). Untuk membedakannya, gunakan _MSC_FULL_VER. Nilai _MSC_FULL_VER minimum untuk Visual Studio 2019 versi 16.10 adalah 192929917. Nilai _MSC_FULL_VER minimum untuk Visual Studio 2019 versi 16.11 adalah 192930129.

Lihat juga

_MSC_VER
Posting blog versi pengkompilasi Visual C++