C++ 标准库是否比 winAPI 具有更多的环境依赖关系?
Does the C++ std library have some more environmental-dependencies than the winAPI?
我知道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.dll
、libstdc++-6.dll
等。
如果您想避免安装这些文件,通常可以选择静态链接您的程序(例如/MT
用于VC++,-static
用于MinGW(,在这种情况下,所需的CRT部件将嵌入到二进制/可执行文件中(以牺牲其大小和安全补丁生命周期为代价(。
相关文章:
- 如何从C++中的依赖类型中获得它所依赖的类型
- 枚举环境变量的惯用C++14/C++17方法
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- 将依赖名称显式标记为类型名和模板的奇怪之处
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- C++GTKMM gui循环依赖关系
- 通过ccmake在cmake中缓存依赖选项
- 当基类是依赖类型时,这是一个缺陷吗
- 从不同的附加依赖项中识别等同命名的函数
- 如何在 CMake 中对目标依赖项进行分组?
- 是否可以依赖函数范围的静态变量来执行程序关闭期间调用的方法?
- 为什么构建目录中新构建的共享库与安装目录中的副本具有不同的依赖项集?
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 通过依赖类型使用非类型模板参数的单类型模板参数类模板的部分专用化
- 为什么内存屏障依赖于变量?
- node-gyp 的先有鸡还是先有蛋的问题:指向依赖项中的头文件
- 创建一个包含 c++ 默认值的环境文件
- 定义C++新的环境变量并在 bat 文件中使用它
- CMake:如何在Visual Studio环境中将依赖于模式的编译标志传递给nvcc
- C++ 标准库是否比 winAPI 具有更多的环境依赖关系?