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

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

本文关键字:环境 依赖 关系 标准 是否 winAPI C++      更新时间:2023-10-16

我知道win API是Windows中底层的东西。当计算机安装了 Windows 系统时,只要系统版本与 API 要求匹配,API 函数就可以工作。

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

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

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

在Visual C++的情况下,您需要相应的VisualC++可再发行组件包,该包将安装MSVCP140.DLL等文件。

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

如果您想避免安装这些文件,通常可以选择静态链接您的程序(例如/MT用于VC++,-static用于MinGW(,在这种情况下,所需的CRT部件将嵌入到二进制/可执行文件中(以牺牲其大小和安全补丁生命周期为代价(。