VC++运行时库整理

原创
小哥 2年前 (2023-05-25) 阅读数 6 #大杂烩

C(C99)运行库CRT

C++运行库CPRT

静态

动态

托管

静态

动态

通用

libucrt.lib

ucrt.lib

ucrtbase.dll

-

-

-

用以支持VC++基本库函数

libvcruntime.lib

vcruntime.lib

vcruntimexxx.dll

-

-

-

实现CRT 初始化和终止

libcmt.lib

将本机 CRT 启动代码的静态链接

msvcrt.lib

与 DLL UCRT 和 vcruntime 本机计算机可一起使用 CRT 推出静态库

msvcmrt.lib

与 DLL UCRT 和 vcruntime 可一起使用的原生和托管混合物 CRT 推出静态库。

libcpmt.lib

msvcprt.lib

msvcpxxx.dll

从 Visual Studio .NET 到 Visual Studio 2013,C++ 编译器和工具的每个主要版本都包含一个新的独立版本 Microsoft C 运行 (CRT) 库。 CRT 这些独立的版本彼此独立,并且在不同程度上彼此不兼容。 例如,Visual Studio 2012 使用的 CRT 库是第 11 版,名为 msvcr110.dll,而 Visual Studio 2013 使用的 CRT 是第 12 版,名为 msvcr120.dll。 从 Visual Studio 2015 起初,这种情况不会再发生。 Visual Studio 2015 和更高版本 Visual Studio 全部使用通用 CRT。通用 CRT 是 C++ 库的基本依赖项。的所有版本 CRT 两者都支持多线程开发。UCRT 现为 Windows 组件,作为 Windows 10 和更高版本一部分提供。

也就是说,再次VS2015之前的VS程序,运行时需要两者msvcrxxx.dll和msvcpxxx.dll,而VS2015从那以后就没有了msvcr140.dll了,相反ucrtbase.dll和vcruntime140.dll此外,有必要msvcp140.dll

参考 C 运行时 (CRT) 和 C++ 标准库 (STL) 库文件 | Microsoft Learn

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除