您现在的位置是:首页 >技术杂谈 >VC++运行时库整理网站首页技术杂谈

VC++运行时库整理

UU_Yang 2023-06-20 04:00:03
简介VC++运行时库整理

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

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。