I have tried to assemble together information about the Visual C++ releases, the compiler and the frameworks (MFC and ATL). You can find these on many places, but it is often incomplete or focused on something particular (Visual Studio, C++ compiler, framework, etc.).
The table below is the result of this effort. It is incomplete because it’s not easy to find information about products released more than two decades ago, but if you can help filling in the gaps please drop a comment with the information you have and I will update the table.
Product | Codename | Release date | C++ version | _MSC_VER | MFC version | _MFC_VER | ATL version | _ATL_VER |
---|---|---|---|---|---|---|---|---|
C 1.0 | 100 | |||||||
C 2.0 | 200 | |||||||
C 3.0 | 300 | |||||||
C 4.0 | 400 | |||||||
C 5.0 | 500 | |||||||
C 6.0 | 1990 | 600 | ||||||
C/C++ 7.0 | 1992 | 700 | 1.0 | 0x0100 | ||||
Visual C++ 1.0 | Caviar | 1993 | 1.0 | 800 | 2.0 | 0x0200 | ||
Visual C++ 1.1 | Barracuda | 1993 | 1.1 | |||||
Visual C++ 1.5 | Dolphin | 1993 | 1.5 | 850 | 2.5 | 0x0250 | ||
Visual C++ 1.51 | 1.5 | |||||||
Visual C++ 1.52 | 1.52 | |||||||
Visual C++ 1.52b | 1.52b | |||||||
Visual C++ 1.52c | 1.52c | |||||||
Visual C++ 2.0 | 2.0 | 900 | 3.0 | 0x0300 | ||||
Visual C++ 2.1 | 2.1 | |||||||
Visual C++ 2.2 | 2.2 | |||||||
Visual C++ 4.0 | Olympus | 1995-12-11 | 4.0 | 1000 | 4.0 | 0x0400 | ||
Visual C++ 4.2 | 4.2 | 1020 | 4.2 | 0x0420 | ||||
1.0 | 0x0100 | |||||||
1.1 | 0x0110 | |||||||
2.0 | 0x0200 | |||||||
Visual Studio 97 | Boston | 1997-04-28 | 5.0 | 1100 | 4.21 | 0x0421 | 2.1 | 0x0210 |
Visual Studio 6.0 | Aspen | 1998 | 6.0 | 1200 | 6.0 | 0x0600 | 3.0 | 0x0300 |
Visual Studio .NET 2002 | Rainier | 2002 | 7.0 | 1300 | 7.0 | 0x0700 | 7.0 | 0x0700 |
Visual Studio .NET 2003 | Everett | 2003 | 7.1 | 1310 | 7.1 | 0x0710 | 7.1 | 0x0710 |
Visual Studio 2005 | Whidbey | 2005 | 8.0 | 1400 | 8.0 | 0x0800 | 8.0 | 0x0800 |
Visual Studio 2008 | Orcas | 2008 | 9.0 | 1500 | 9.0 | 0x0900 | 9.0 | 0x0900 |
Visual Studio 2010 | Dev10 | 2010 | 10.0 | 1600 | 10.0 | 0x0A00 | 10.0 | 0x0A00 |
Visual Studio 2012 | Dev11 | 2012-08-15 | 11.0 | 1700 | 11.0 | 0x0B00 | 11.0 | 0x0B00 |
Visual Studio 2013 | Dev12 | 2013-10-17 | 12.0 | 1800 | 12.0 | 0x0C00 | 12.0 | 0x0C00 |
Visual Studio 2015 | Dev14 | 2015-07-20 | 14.0 | 1900 | 14.0 | 0x0E00 | 14.0 | 0x0E00 |
Several notes on the history of VC++:
- Visual Studio 97 was the first product that bundled together several products (Visual C++, Visual Basic, Visual J++)
- Visual Studio 6.0 is the only version of Visual Studio that was not named after the release year, but the version number
- MFC was first release in 1992 with C/C++ 7.0
- MFC 6.0 released with Visual Studio 6 did not change the name of the MFC DLLs, that were still named mfc42.dll
- ATL was first released in between Visual C++ 4.2 and Visual Studio 97. The first release of the framework to be included in a product was ATL 2.1 released with Visual Studio 97
- Visual C++ version 3.0 was skipped to 4.0 to align the product version with the MFC version, whose next version was 4.0
- Visual Studio 2015, the compiler and framework version are 14.0 and not 13.0, a number which was skipped (for the good old superstitions)
- _MFC_VER and _ATL_VER macros were initially incorrectly documented in MSDN as 0x1000 instead of 0x0A00
References