A table I concocted to keep track of the various versions over the years:
_MSC_VER | Name | Released | Compiler | Target OS | Notes |
---|---|---|---|---|---|
500 | ~198? | Microsoft C v5.0 | DOS | The one I started with! | |
510 | ~1988 | Microsoft C v5.1 | DOS, OS/2 1.x | ||
600 | ~1989 | Microsoft C v6.0 | |||
700 | ~1989 | Microsoft C/C++ | |||
800 | 1993 | Visual C++ v1.0 | DOS, Win16 | ||
8?? | 1993 | Visual C++ v1.5 | |||
900 | Visual C++ v2.x | ||||
1000 | Visual Studio | 1995 | Visual C++ v4.0 | ||
1010 | Visual C++ v4.1 | ||||
1100 | Visual Studio 97 | 1997 | Visual C++ v5.0 | ||
1200 | Visual Studio 6 | 1998 | Visual C++ v6.0 | Win2000, XP | 12.00.8804 80x86 |
1300 | Visual Studio .NET | 2002 | Visual C++ v7.0 | ||
1310 | Visual Studio .NET 2003 | 2003 | Visual C++ v7.1 | ||
1400 | Visual Studio 2005 | 2005 | Visual C++ v8.0 | ||
1500 | Visual Studio 2008 | 2008 | Visual C++ v9.0 | Vista, XP, 2003, 2008, Win7 | 15.00.30729.01 80x86, x64 |
1600 | Visual Studio 2010 | 2010 | Visual C++ v10.0 | Vista, XP, 2003, 2008, Win7 | 16.00.40219.01 80x86, x64 - SDK v7.0A 16.00.30319.01 x64 - SDK v7.1 SDK v7.0 Exes will run on XP/2003 |
1700 | Visual Studio 2012 | 2012 | Visual C++ v11.0 | Win8, Server 2012 | 17.00.61030 x86, x64 Exes will NOT run on XP/2003 without taking 'extraordinary' measures. |
1800 | Visual Studio 2013 | 2013 | Visual C++ v12.0 | Win8.1, Server 2013 | SDK 8.1 Exes will NOT run on XP/2003. |
_WIN32: Defined for both 32- and 64-bit _WIN64: Defined for 64-bit apps only
Comments, corrections, questions? Email me here: