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++所用到的一些基础支持特定内容;
1 2 3 4 5 6 7 8 9 10 11 12 13 |
编译用的 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 |