Microsoft Visual C++コンパイラのバージョン判定マクロについて。
2017-03-07追記:本ページはVC2012以降メンテナンスされていない。最新版はyumetodoさんによる _MSC_VERと_MSC_FULLVERをまとめる を参照のこと。
メジャー/マイナーバージョンを判定するための_MSC_VER
に加え、Visual Studio 2008以降(_MSC_VER>=1500
)ではビルド番号まで含んだ_MSC_FULL_VER
も定義される。*1
// unreliable list VC6 SP5 1200 12008804 VC2002 1300 13009466 VC2003 1310 13103077 VC2003 SP1 1310 13106030 VC2005 1400 140050320 VC2005 SP1 1400 140050727 VC2008 RTM 1500 150021022 VC2008 SP1 1500 150030729 VC2010 RTM 1600 160030319 VC2010 SP1 1600 160040219 VC2012 RTM 1700 170050727 VC2012 NovCTP 1700 170051025
関連URL
- http://msdn.microsoft.com/ja-jp/library/vstudio/b0084kay.aspx
- #2935 (_MSC_FULL_VER has only 8 digits on some recent version of MSVC) – Boost C++ Libraries
*1:MSDNに記載があるのは Visual Studio 2008(MSVC9) 以降だが、非公開機能として Visual C++ 6.0(MSVC6) SP5 頃から存在していた模様。数値桁数は8桁または9桁のいずれか?