首页 > 解决方案 > 为什么需要 Visual C++ Redistributables?

问题描述

我正在安装 GTA 5,它还安装了 Visual C++ Redistributables。这让我对某事感到好奇,因为这种情况经常发生。

据我所知,这些是链接到 VC++ 库所必需的,但我的系统上已经安装了 .NET 4.8。

我认为当 C++(托管)被编译为 MSIL 时,它只会使用标准的 .NET Framework 库。

所以本质上的问题是,既然存在 .NET Framework 库,为什么还需要安装额外的 VC++ 特定库?

谢谢!

标签: c++visual-c++

解决方案


C++ 编译为本机代码,不使用 .NET 运行时。它使用可以静态或动态链接的 VC++ 运行时 (*)。在后一种情况下,这需要 VC++ 可再发行组件。

(*) 从技术上讲,使用 VC++ 构建一个根本使用 VC++ 运行时的应用程序是可行的,但这会牺牲语言特性并且并不常见。

诸如C++/CLI之类的托管风格编译为混合模式程序集,这些程序集仍然具有具有相同要求的非托管部分。


推荐阅读