c++ - C++ 标准库在任何时候都包含每个平台的 native 头文件吗?

标签 c++ winapi stl

我正在与某人争论,他确定 C++ 标准库(如 algorithmmemorystring 等)使用用于执行某些操作的 Windows API header 。

是不是这样? 我知道所有 Windows PE 都包含来自 WinAPI 的 native DLL,但我不确定标准库是否完全依赖于编译器/操作系统。

最佳答案

C++标准库是一组#include <>当插入到 C++ 程序中时,具有标准定义的效果的指令。

从技术上讲,它们根本不需要是文件 -- 都是 #include <blah>标准强制执行的指令可以改为编译器内部函数,用于修改指令后程序的行为。

在实践中,它们通常是纯 C++ 头文件代码、使用编译器内在函数或平台特定细节的头文件代码以及库的混合体,其中库是在操作系统特定的、硬件特定的混合体中实现的, 或者在 C/C++ 中。

C++ 标准库的某些部分无法用 C++ 实现。

关于c++ - C++ 标准库在任何时候都包含每个平台的 native 头文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36531978/

相关文章:

c++ - 使用 std::async 控制并行度

c++ - 我可以在 native C++ 服务中使用 ATL 吗?

c++ - 有没有办法将 std::stack<pointer> 转换为 std::stack<const pointer>?

c++ - C++ STL unordered_map 如何解决冲突?

c++ - 为什么没有更多的迭代器随机访问?

c++ - 将 unsigned int 的指针传递给 long int 的指针

c++ - API 内存 : Heap or Stack? (C++)

c++ - 扁平化 C++ 结构

c++ - 在 64 位 Windows 中 Hook 32 位进程

c++ - 在按钮程序中处理按钮单击