Visual studio compiler versions¶

Here is a list of Visual Studio / Visual C++ version numbers, the value of the defined _MSC_VER during compilation, the alternative year-based name, and the C / C++ runtime library.

For sources on version numbers / _MSC_VER :

For VC runtime libraries:

VC++ version _MSC_VER Alternative name C runtime C++ runtime 1.0 800 MSVCRT10.DLL 2.0 900 MSVCRT20.DLL 4.0 1000 MSVCRT40.DLL 4.2 1020 MSVCRT.DLL 5.0 1100 Visual Studio 97 MSVCRT.DLL MSVCP50.DLL 6.0 1200 MSVCRT.DLL MSVCP60.DLL 7.0 1300 Visual Studio 2002 MSVCR70.DLL MSVCP70.DLL 7.1 1310 Visual Studio 2003 MSVCR71.DLL MSVCP71.DLL 8.0 1400 Visual Studio 2005 MSVCR80.DLL MSVCP80.DLL 9.0 1500 Visual Studio 2008 MSVCR90.DLL MSVCP90.DLL 10.0 1600 Visual Studio 2010 MSVCR100.DLL MSVCP100.DLL 11.0 1700 Visual Studio 2012 MSVCR110.DLL MSVCP110.DLL 12.0 1800 Visual Studio 2013 MSVCR120.DLL MSVCP120.DLL 14.0 1900 Visual Studio 2015 See notes MSVCP140.DLL

For a discussion of the generic MSVCRT.DLL compared to the DLLs specific to the VC version, see this blog post. See also these comments on using MSVCRT.DLL from Mingw-w64.

For 2015, MS split the C runtime into two component libraries. See:

The CRT components are:

ucrtbase.dl : “The Universal CRT (UCRT) contains the functions and globals exported by the standard C99 CRT library. The UCRT is now a Windows component, and ships as part of Windows 10.” (see CRT 2015).

: “The Universal CRT (UCRT) contains the functions and globals exported by the standard C99 CRT library. The UCRT is now a Windows component, and ships as part of Windows 10.” (see CRT 2015). vcruntime140.dll : “The vcruntime library contains Visual C++ CRT implementation-specific code, such as exception handling and debugging support, runtime checks and type information, implementation details and certain extended library functions. This library is specific to the version of the compiler used.” (CRT 2015);