C++ 标准库是否比 winAPI 具有更多的环境依赖性?

Does the C++ std library have some more environmental-dependencies than the winAPI?

我知道胜利 API 是 Windows 中最底层的东西。当电脑安装了Windows系统时,只要系统版本符合API要求,API功能就可以使用。

但是,例如,.NET 需要安装 .NET 框架,因此它具有更多的环境依赖性。

那么,C++ std 库是否需要框架之类的东西,或者几乎每台计算机都已经预先安装了所需的东西?

通常是的,在 Windows 上,C++ std 库是一个 DLL,不,它 不是 Windows 的一部分。

Visual C++ 的情况下,您需要相应的 Visual C++ Redistributable package,它将安装 MSVCP140.DLL 等文件

MinGW 使用 GCC/libstdc++ DLL,如 libgcc_s_dw2-1.dlllibstdc++-6.dll

如果您想避免安装这些文件,通常可以选择link您的程序静态(例如/MT for VC++ 和 -static 对于 MinGW),在这种情况下,所需的 CRT 部件将嵌入到您的 binary/executable 中(以其大小和安全补丁生命周期为代价)。