9

我想知道在不同的 C++ 编译器中使用了哪些 C++ 标准库。我尝试搜索它,但找不到完整的列表。

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

4

1 回答 1

9

入围名单:

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

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

于 2013-05-27T13:58:38.197 回答