msvcp140.dll
msvcp140_1.dll
msvcp140_2.dll
When you build a release version of your project, one of the basic C run-time libraries (libcmt.lib, msvcmrt.lib, msvcrt.lib) is linked by default, depending on the compiler option you choose (multithreaded, DLL,
msvcp140_1.dll
我试图将一个C库导入到Visual Studio项目中。该库附带以下文件。msvcp140_2.dll
我知道这些是微软C语言运行时的DLL文件。但我想知道更多关于这些文件的用途。我想知道我需要哪些二进制文件,以及包含这些文件有什么后果。
p
C++ Standard Library
我正试图将一个C库导入到Visual Studio项目中。该库附带以下文件: msvcp140.dll msvcp140_1.dll msvcp140_2.dll 我知道这些是微软的C运行时 ...这些文件实际上是C++标准库的实现(参见 在他们的名字)。) 从
关于CRT库功能clr)。) 如果你包含了其中的一个 C++标准库头文件 在你的代码中,Visual C++会在编译时自动链接一个C++标准库。例如,在编译时,Visual C++会自动链接一个C++标准库。
#include <ios>
为了二进制兼容性,一个导入库可以指定多个DLL文件。版本更新可能会引入点库,即引入新库功能的独立DLL。例如,Visual Studio 2017 15.6版引入了msvcp140_1.dll,以支持额外的标准库功能,而不破坏msvcp140.dll支持的ABI。Visual Studio 2017 15.6版本的工具集中包含的msvcprt.lib导入库支持这两个DLL,该版本的vcredist会安装这两个DLL。点库一旦出厂,就有固定的ABI,绝不会对后来的点库产生依赖。
由于微软的C++标准库是开源的,你可以很容易地查到那些附加的功能是什么,例如。stl/CMakeLists.txt
甚至描述了这些文件。
# msvcp140_1.dll (the memory_resource satellite)
和
# msvcp140_2.dll (the special math satellite)
然而 源文件名 本身已经是描述性的。