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

Bor*_*rov 9 c++ stl c++-standard-library

我想知道在不同的C++编译器中使用了哪些C++标准库.我试图搜索它,但找不到一个全面的列表.

我知道Dinkumware的实现由msvc和icc使用,libstdc ++由gcc使用,libc ++用于clang.但是Digital Mars C++,Embarcadero的bcc,还是IBM的xlC++呢?

rub*_*nvb 8

候选名单:

  • GCC:使用自己的libstdc ++.
  • MSVC:使用自己的msvcrp,它是从Dinkumware购买的,然后被肢解以解决MSVC糟糕的C++语言支持(所以它不再是真正的Dinkumware).
  • Clang:如果传递了-stdlib=libc++选项,则使用LLVM的libc ++ .它也可以使用GCC的libstdc ++以及MSVC的库(它在所有情况下都会生成二进制兼容代码).
  • ICC:在Linux上使用GCC libstdc ++,在Windows上使用MSVC的库.它还试图模仿这些平台上的两个编译器.

注意还有其他编译器和(独立的)C++标准库实现,这里我没有介绍.