Visual C++动态运行时库现在是Windows操作系统的一部分吗?

Dan*_*erg 11 c++ windows msvcrt visual-studio visual-c++

现在,Visual C++的动态运行时库(更具体地说是2008)是Windows操作系统的一部分吗?我注意到,至少在Windows 8上,您不再需要随应用程序一起提供这些内容,或让用户安装Microsoft的可再发行组件包.

这是真的?如果是这样,那么适用于哪些Windows版本以及适用于哪些版本的Visual C++?

Han*_*ant 7

不,它们从未成为Windows发行版的一部分。自己部署它们是一项艰巨的要求。

看起来确实如此。从system32目录中的msvcrt.dll开始,它与VS2002之前(VS6和更早版本)的Visual Studio版本中的C ++运行时dll具有相同的名称。但是,它是Windows可执行文件使用的CRT的专用副本。并且受到Windows中文件系统保护功能的保护,可防止旧的安装程序破坏操作系统。

当然,它经常偶然地起作用。有许多需要Microsoft CRT的程序,因此用户不太可能在安装DLL之前运行安装程序。显然,您不能依靠那场常见的事故。

与Windows 8类似,预安装的Microsoft.VCLibs.110软件包与用C ++编写的Store应用程序所需的软件包匹配。但这是与上述相同的原因,就像您一样,Microsoft Store程序也是使用VS2012构建的。即将到来的VS2013中即将发生的事情现在有点混乱,我们很快就会知道。