本文を読み飛ばす

_MSC_VERマクロの値

Windows 用の C/C++ プログラムを開発していると、Visual Studio のバージョンによる機能差に対処するためソースコード中でコンパイラバージョンを判断する必要が出てくる。 そのときに使うのが _MSC_VER という定義済みプリプロセッサマクロ。 この値を暗記すれば苦労は無いのだけれど、イマイチ覚えきれないので備忘録を作った。

なお、新しい Visual Studio が出るたびに随時追記する予定。

_MSC_VER マクロ一覧表

Visual Studio のバージョン 内部バージョン番号 _MSC_VERの値
Visual Studio 6.0 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 15.0 1910
15.3 1911
15.5 1912
15.6 1913
15.7 1914
15.8 1915
15.9 1916
Visual Studio 2019 16.0 1920
16.1 1921
16.2 1922
16.3 1923
16.4 1924
16.5 1925
16.6 1926
16.7 1927
16.8 1928

この情報、実は Wikipedia の「Microsoft Visual C++」のページにまとめられているのだけれど、 あのページはボリュームが多すぎるためか _MSC_VER で Web 検索してもヒットしない。 また昔に書かれたブログ記事が結構ヒットするため最新バージョンでの値が知りたい場合に肩すかしを食らうこともある。 というわけで、自分用に作った次第。

参考

更新履歴

  • 2020-11-01: Visual Studio 2019 の値やマイナーバージョンごとの定数値を追加