C++
VisualStudio
_MSC_VER

_MSC_VERと_MSC_FULL_VERをまとめる


情報提供

情報提供お待ちしています。編集リクエストなりコメントでいただければなるべく早く反映します。


追記: cpprefjp, dev.toにも同じ表を記載

にてこの記事とほぼ同じ内容を記述するようになりました。どちらも私がメンテナンスしますので、どちらかに修正依頼が来れば双方に反映します。


Visual Studioのversionと判別マクロ

空欄はわからないところです。

表記
製品名 [Visual Studio version] 1

VC++ version 2

_MSC_VER
_MSC_FULL_VER

2017 Update 9
Visual Studio 2017 version 15.9.7
14.16
1916
191627027

2017 Update 9
Visual Studio 2017 version 15.9.5
14.16
1916
191627026

2017 Update 9
Visual Studio 2017 version 15.9.4
14.16
1916
191627025

2017 Update 9
Visual Studio 2017 version 15.9.1
14.16
1916
191627023

2017 Update 9
Visual Studio 2017 version 15.9.0
14.16
1916

2017 Update 8
Visual Studio 2017 version 15.8.0
14.15
1915

2017 Update 7
Visual Studio 2017 version 15.7.5
14.14
1914
191426433

2017 Update 7
Visual Studio 2017 version 15.7.3
14.14
1914
191426430

2017 Update 7
Visual Studio 2017 version 15.7.2
14.14
1914
191426429

2017 Update 7
Visual Studio 2017 version 15.7.1
14.14
1914
191426428

2017 Update 6
Visual Studio 2017 version 15.6.7
14.13
1913
191326132

2017 Update 6
Visual Studio 2017 version 15.6.6
14.13
1913
191326131

2017 Update 6
Visual Studio 2017 version 15.6.4
14.13
1913
191326129

2017 Update 6
Visual Studio 2017 version 15.6.3
14.13
1913
191326129

2017 Update 6
Visual Studio 2017 version 15.6.2
14.13
1913
191326128

2017 Update 6
Visual Studio 2017 version 15.6.1
14.13
1913
191326128

2017 Update 6
Visual Studio 2017 version 15.6.0
14.13
1913
191326128

2017 Update 5
Visual Studio 2017 version 15.5.7
14.12
1912
191225835

2017 Update 5
Visual Studio 2017 version 15.5.6
14.12
1912
191225835

2017 Update 5
Visual Studio 2017 version 15.5.4
14.12
1912
191225834

2017 Update 5
Visual Studio 2017 version 15.5.3
14.12
1912
191225834

2017 Update 5
Visual Studio 2017 version 15.5.2
14.12
1912
191225831

2017 Update 4
Visual Studio 2017 version 15.4.5
14.11
1911
191125547

2017 Update 4
Visual Studio 2017 version 15.4.4
14.11
1911
191125542

2017 Update 3
Visual Studio 2017 version 15.3.3
14.11
1911
191125507

2017 Update 2 3

Visual Studio 2017 version 15.2
14.10
1910
191025017

2017 Update 1 3

Visual Studio 2017 version 15.1
14.10
1910
191025017

2017
Visual Studio 2017 version 15.0
14.10 4

1910
191025017

2015 Update 3
Visual Studio 2015 Update 3 [14.0]
14.0
1900
190024210

2015 Update 2
Visual Studio 2015 Update 2 [14.0]
14.0
1900
190023918

2015 Update 1
Visual Studio 2015 Update 1 [14.0]
14.0
1900
190023506

2015
Visual Studio 2015 [14.0]
14.0
1900
190023026

2013 Nobemver CTP
Visual Studio 2013 Nobemver CTP [12.0]
12.0
1800
180021114

2013 Update 5
Visual Studio 2013 Update 5 [12.0]
12.0
1800
180040629

2013 Update 4
Visual Studio 2013 Update 4 [12.0]
12.0
1800
180031101

2013 Update 3
Visual Studio 2013 Update 3 [12.0]
12.0
1800
180030723

2013 Update 2
Visual Studio 2013 Update 2 [12.0]
12.0
1800
180030501

2013 Update2 RC
Visual Studio 2013 Update2 RC [12.0]
12.0
1800
180030324

2013 Update 1 3

Visual Studio 2013 Update 1 [12.0]
12.0
1800
180021005

2013
Visual Studio 2013 [12.0]
12.0
1800
180021005

2013 RC
Visual Studio 2013 RC [12.0]
12.0
1800
180020827

2013 Preview
Visual Studio 2013 Preview [12.0]
12.0
1800
180020617

2012 November CTP
Visual Studio 2012 November CTP [11.0]
11.0
1700
170051025

2012 Update 4
Visual Studio 2012 Update 4 [11.0]
11.0
1700
170061030

2012 Update 3
Visual Studio 2012 Update 3 [11.0]
11.0
1700
170060610

2012 Update 2
Visual Studio 2012 Update 2 [11.0]
11.0
1700
170060315

2012 Update 1
Visual Studio 2012 Update 1 [11.0]
11.0
1700
170051106

2012
Visual Studio 2012 [11.0]
11.0
1700
170050727

2010 SP1
Visual Studio 2010 SP1 [10.0]
Visual C++ 2010 SP1 [10.0]
10.0
1600
160040219

2010
Visual Studio 2010 [10.0]
Visual C++ 2010 [10.0]
10.0
1600
160030319

2010 Beta 2
Visual Studio 2010 Beta 2 [10.0]
10.0
1600
160021003

2010 Beta 1
Visual Studio 2010 Beta 1 [10.0]
10.0
1600
160020506

2008 SP1
Visual Studio 2008 SP1 [9.0]
Visual C++ 2008 SP1 [9.0]
9.0
1500
150030729

2008
Visual Studio 2008 [9.0]
Visual C++ 2008 [9.0]
9.0
1500
150021022

2008 Beta 2
Visual Studio 2008 Beta 2 [9.0]
9.0
1500
150020706

2005 SP1
Visual Studio 2005 SP1 [8.0]
Visual C++ 2005 SP1 [8.0]
8.0
1400
140050727

2005
Visual Studio 2005 [8.0]
Visual C++ 2005 [8.0]
8.0
1400
140050320

2005 Beta 2
Visual Studio 2005 Beta 2 [8.0]
8.0
1400
140050215

2005 Beta 1
Visual Studio 2005 Beta 1 [8.0]
8.0
1400
140040607

Windows Server 2003 SP1 DDK (for AMD64)

1400
140040310

2003 SP1
Visual Studio .NET 2003 SP1 [7.1]
Visual C++ .NET 2003 SP1 [7.1]
7.1
1310
13106030

Windows Server 2003 SP1 DDK

1310
13104035

2003
Visual Studio .NET 2003 [7.1]
Visual C++ .NET 2003 [7.1]
7.1
1310
13103077

Visual Studio Toolkit 2003 [7.1]
7.1
1310
13103052

2003 Beta
Visual Studio .NET 2003 Beta [7.1]
7.1
1310
13102292

Windows Server 2003 DDK

1310
13102179

2002
Visual Studio .NET 2002 [7.0]
Visual C++ .NET 2002 [7.0]
7.0
1300
13009466

Windows XP SP1 DDK

1300
13009176

6.0 SP6
Visual Studio 6.0 SP6
Visual C++ 6.0 SP6
6.0
1200
12008804

6.0 SP5
Visual Studio 6.0 SP5
Visual C++ 6.0 SP5
6.0
1200
12008804

Visual Studio 97 [5.0]
Visual C++ 5.0
5.0
1100

Visual C++ 4.2
4.2
1020

Visual C++ 4.1
4.1
1010

Visual C++ 4.0
4.0
1000

Visual C++ 2.0
2.0
900

Visual C++ 1.0
1.0
800

Microsoft C/C++ 7.0

700

Microsoft C 6.0

600

C++11のconstexprがまともに使えるようになったのはVisual Studio 2015 Update1からですね。

C++17に完全対応したのがVisual Studio 2017 version 15.7からです。


参考サイト


注釈





  1. 製品名の列にはVisual C++コンパイラを含む実際に入手する製品の名称を示す。製品のエディション (Express/Standard/Professional/Enterprise/Community 他) は省略する。Visual Studioの製品versionは、製品名に現れていないときは [ ~ ] 内に記す。製品versionは、2017以降、メインメニューの [ヘルプ]-[Microsoft Visual Studio のversion情報] から確認できるものを指す。 



  2. VC++versionの列にはVisual C++ツールセットのversionを記述する。この表では特にVisual C++を入れた時に既定で選択されるツールセットのみについて扱う。 



  3. IDEのみ修正され、コンパイラ、ヘッダー、ライブラリ等は変更されなかった。

    - C++17 Features And STL Fixes In VS 2017 15.3 | Visual C++ Team Blog - "After VS 2017 RTM, the 15.1 and 15.2 updates improved the IDE. The 15.3 update improves both the IDE and the toolset."

    - Description of Visual Studio 2013 Update 1 



  4. 2017は2015とバイナリ互換が保たれているためメジャーversionアップは行われなかった。その結果、製品versionとVisual C++versionが一致しなくなった。

    Binary Compatibility and Pain-free Upgrade: Why Moving to Visual Studio 2017 is almost “too easy”