Microsoft C++ (MSVC) コンパイラ バージョンは、次の 4 つのフィールドで構成されます。
M - メジャー バージョン (2 桁)
N - マイナー バージョン (2 桁)
B - ビルド バージョン (5 桁)
R - リビジョン バージョン
Microsoft 固有のコンパイラ マクロは、次のようにこれらのフィールドをエンコードします。
_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 です。
Note
Visual Studio 2019 バージョン 16.8 と 16.9 は同じメジャー バージョンとマイナー バージョンを共有するため、 _MSC_VERの値も同じです。 Visual Studio 2019 バージョン 16.10 および 16.11 と同様です。 それらを区別するには、Visual Studio 2017 以降の _MSC_FULL_VER で説明されているように を使用します。
Microsoft 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は 1,000,000 ずつ増加します。Note
Visual Studio .NET 2003 はマイナー リリースと見なされていました。
Visual Studio 2017 から Visual Studio 2022
- メジャー リリースの場合、マイナー バージョンは 10 ずつ増加します。
- マイナー リリースの場合、マイナー バージョンは Visual Studio 2017 バージョン 15.3 以降で 1 ずつ増加します。
Visual Studio 2026 以降
- Visual Studio のバージョンの更新に関連して、コンパイラのマイナー バージョンがインクリメントされなくなりました。
- マイナー バージョンは、新しい MSVC リリースごとに 1 ずつインクリメントされます。
- すべての新しい Visual Studio バージョンに新しい MSVC コンパイラ バージョンが付属するわけではありません。
Visual Studio 2017 以降のサービス リリース
サービス リリースは、_MSC_FULL_VERによって区別されます。 通常、ビルド フィールド (MMNNBBBBB バージョン番号の BBBBB) は 1 ずつ増加します。
たとえば、 _MSC_FULL_VER が役立つ 2 つのケースは、Visual Studio 2019 バージョン 16.8 と 16.9 を区別し、Visual Studio 2019 バージョン 16.10 を 16.11 から区別する場合です。 これは、これらのバージョンが同じメジャー バージョンとマイナー バージョンを共有し、_MSC_VER の値が同じだからです。
これらのバージョンを区別するには、_MSC_FULL_VER を使用します。
Visual Studio 2019 バージョン 16.8 の _MSC_FULL_VER の最小値は192829333。
Visual Studio 2019 バージョン 16.9 の _MSC_FULL_VER の最小値は192829910。
バージョン マクロ
バージョン番号は次の 4 つのフィールドで構成されていることを再確認してください。
M - メジャー バージョン (2 桁)
N - マイナー バージョン (2 桁)
B - ビルド バージョン (5 桁)
R - リビジョン バージョン
_MSC_VER は、メジャー リリースとマイナー リリースを区別します。 形式: MMNN。
_MSC_FULL_VER は、コンパイラのメジャー バージョン、マイナー バージョン、ビルド バージョンを表します。 形式: MMNNBBBBB。 これを使用して、サービス リリースなど、コンパイラのさまざまなバージョンを区別します。 Visual Studio 2019 バージョン 16.8、16.9、16.10、16.11 の詳細については、「 Visual Studio 2017 以降のサービス リリース」を参照してください。
_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 に変更されました。
次の表に、各 Microsoft C++ コンパイラ (_MSC_VER) および MSVC Build Tools リリースに対応する Visual Studio のバージョンを示します。
| Visual Studio のバージョン | _MSC_VER |
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 バージョン 15.3 | 1911 | 14.11 |
| Visual Studio 2017 バージョン 15.5 | 1912 | 14.12 |
| Visual Studio 2017 バージョン 15.6 | 1913 | 14.13 |
| Visual Studio 2017 バージョン 15.7 | 1914 | 14.14 |
| Visual Studio 2017 バージョン 15.8 | 1915 | 14.15 |
| Visual Studio 2017 バージョン 15.9 | 1916 | 14.16 |
| Visual Studio 2019 RTW 16.0 | 1920 | 14.20 |
| Visual Studio 2019 バージョン 16.1 | 1921 | 14.21 |
| Visual Studio 2019 バージョン 16.2 | 1922 | 14.22 |
| Visual Studio 2019 バージョン 16.3 | 1923 | 14.23 |
| Visual Studio 2019 バージョン 16.4 | 1924 | 14.24 |
| Visual Studio 2019 バージョン 16.5 | 1925 | 14.25 |
| Visual Studio 2019 バージョン 16.6 | 1926 | 14.26 |
| Visual Studio 2019 バージョン 16.7 | 1927 | 14.27 |
| Visual Studio 2019 バージョン 16.8、16.9 a | 1928 | 14.28 |
| Visual Studio 2019 バージョン 16.10、16.11 b | 1929 | 14.29 |
| Visual Studio 2022 RTW 17.0 | 1930 | 14.30 |
| Visual Studio 2022 バージョン 17.1 | 1931 | 14.31 |
| Visual Studio 2022 バージョン 17.2 | 1932 | 14.32 |
| Visual Studio 2022 バージョン 17.3 | 1933 | 14.33 |
| Visual Studio 2022 バージョン 17.4 | 1934 | 14.34 |
| Visual Studio 2022 バージョン 17.5 | 1935 | 14.35 |
| Visual Studio 2022 バージョン 17.6 | 1936 | 14.36 |
| Visual Studio 2022 バージョン 17.7 | 1937 | 14.37 |
| Visual Studio 2022 バージョン 17.8 | 1938 | 14.38 |
| Visual Studio 2022 バージョン 17.9 | 1939 | 14.39 |
| Visual Studio 2022 バージョン 17.10 | 1940 | 14.40 |
| Visual Studio 2022 バージョン 17.11 | 1941 | 14.41 |
| Visual Studio 2022 バージョン 17.12 | 1942 | 14.42 |
| Visual Studio 2022 バージョン 17.13 | 1943 | 14.43 |
| Visual Studio 2022 バージョン 17.14 | 1944 | 14.44 |
Visual Studio 2019 バージョン 16.8 および 16.9 は、同じメジャー バージョンとマイナー バージョンを共有します ( _MSC_VERの値も同じです)。 それらを区別するには、_MSC_FULL_VER を使用します。 Visual Studio 2019 バージョン 16.8 の _MSC_FULL_VER の最小値は192829333。 Visual Studio 2019 バージョン 16.9 の _MSC_FULL_VER の最小値は192829910。
b Visual Studio 2019 バージョン 16.10 および 16.11 は、同じメジャー バージョンとマイナー バージョンを共有します ( _MSC_VERの値も同じです)。 それらを区別するには、_MSC_FULL_VER を使用します。 Visual Studio 2019 バージョン 16.10 の _MSC_FULL_VER の最小値は192929917。 Visual Studio 2019 バージョン 16.11 の _MSC_FULL_VER の最小値は192930129。