msvcrt* 是 VC 6 及之前的 VC runtime,c 和 c++ 的函数都在一个文件;
msvcr* 是 VC7 到 VS2013 的,c 对应 msvcr*.dll,c++ 对应 msvcp*.dll;
VS2015 已经没有msvcr140.dll了,只有msvcp140.dll,crt dll已经被拆成了两个dll:ucrtbase.dll,包含标准c库的内容;vcruntime140.dll,包含vc++所用到的一些基础支持特定内容;
编译用的 VC 版本和链接到的 vc runtime 版本对应如下:
ucrtbase.dll vcruntime140.dll msvcp140 MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015)
msvcr120 MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)
msvcr110 MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)
msvcr100 MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)
msvcr90 MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008)
msvcr80 MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005)
msvcr71 MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio 2003)
msvcr70 MSVC++ 7.0 _MSC_VER == 1300
msvcrt.dll MSVC++ 6.0 _MSC_VER == 1200
msvcrt.dll MSVC++ 5.0 _MSC_VER == 1100
msvcrt40.dll MSVC++ 4.x Forwarded to msvcrt.dll
msvcrt20.dll MSVC++ 2.x