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

9

我想知道不同的C++编译器使用哪些C++标准库。我尝试搜索,但找不到全面的列表。

我知道Dinkumware的实现被msvc和icc使用,libstdc++被gcc使用,libc++被clang使用。但Digital Mars C ++、Embarcadero的bcc或IBM的xlC ++呢?


1
请注意,clang也可以使用libstdc++ - Morwenn
当前的icc使用gcc标准库,我想。不管怎样,我很好奇为什么你需要这个信息? - user93353
在我的情况下,其实没有什么特别重要的。只是同事之间的一次讨论引发了这个问题。我更加好奇了,因为我找不到那些信息的列表。 - Borislav Stanimirov
1
Sun,为了省略某些内容,附带了两个库(一个基于rw,另一个基于stlport),并且还可以使用apache库...这不应该在编译器文档中说明吗? - Cubbi
1个回答

10

以下是一份短列表:

  • GCC:使用自己的libstdc++。
  • MSVC:使用自己的msvcrp库,该库曾从Dinkumware购买,但后来被分解以解决MSVC对C ++语言的不良支持问题(因此它实际上不再是Dinkumware了)。
  • Clang:如果传递了-stdlib = libc ++选项,则使用LLVM的libc ++。它还可以使用GCC的libstdc ++和MSVC的库(在所有情况下生成二进制兼容代码)。
  • ICC:在Linux上使用GCC libstdc ++,在Windows上使用MSVC的库。它还尝试在这些平台上模拟两个编译器。

请注意,这里没有涵盖其他编译器和(独立的)C ++标准库实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接