c++标准库在不同编译器中的实现

C++ standard library implementations in different compilers

本文关键字:编译器 实现 标准 c++      更新时间:2023-10-16

我想知道在不同的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++标准库实现我没有在这里介绍。