c++标准库在不同编译器中的实现
C++ standard library implementations in different compilers
我想知道在不同的c++编译器中使用哪些c++标准库。我试着搜索,但找不到一个完整的列表。
我知道Dinkumware的实现是msvc和icc使用的,libstdc++是gcc使用的,libc++是clang使用的。但是Digital Mars c++、Embarcadero的密件抄送或IBM的xlC++呢?
入围名单:
- GCC:使用自己的libstdc++。
- MSVC:使用自己的msvcrp,它是从Dinkumware购买的,然后被分解以解决MSVC糟糕的c++语言支持(所以它不再是真正的Dinkumware了)。
- Clang:如果传递了
-stdlib=libc++
选项,则使用LLVM的libc++。它还可以使用GCC的libstdc++和MSVC的库(它在所有情况下生成二进制兼容代码)。 - ICC: Linux上使用GCC libstdc++, Windows上使用MSVC的库。它还试图模仿这两个平台上的编译器。
注意还有其他编译器和(独立的)c++标准库实现我没有在这里介绍。
相关文章:
- 尝试使用继承和模板实现CRTP.Visual Studio正在生成编译器错误
- 编译器如何实现__declspec(align(x)) / __attribute__(aligned(x)))?
- 如何在编译器C++不智能的情况下实现 GLSL vec* 构造语法?
- CMake + Qt,moc 编译失败,无法实现 QMetaObject 方法(编译器找不到基本 ui 对象的标头?
- C++头和实现,(为什么)它不是由IDE/编译器自动处理的
- 是否可以在不依赖内置编译器的情况下拥有is_trivially_constructible的库实现
- 尝试实现IS_CONSTEXPR() - 编译器差异
- 在不同的平台/编译器上实现相同的浮点计算结果
- 在编译器中实现受保护/私有继承
- 他们实现的开源C编译器(gcc,clang)的实际标准在哪里
- 为什么编译器会在二进制中留下嵌套函数的实现
- 编译器是否确实会实施纯虚拟驱动器的实现
- C/C 中POW()函数的实现是否随平台或编译器而变化
- 我已经在派生类中实现了纯虚拟方法,但编译器抱怨我没有
- 编译器如何实现继承
- 编译器优化合并了相同的函数实现,这意味着在运行时要绕过存根
- C++和CRTP模式的实现与编译器困境
- 如何查找编译器实现细节
- 是否有各种编译器实现的扩展的简明清单
- C++编译器实现命名空间