2013-05-27 19 views
6

どのC++標準ライブラリが異なるC++コンパイラで使用されているのだろうかと思っていました。私はそれを探してみましたが、包括的なリストを見つけることができませんでした。異なるコンパイラでのC++標準ライブラリの実装

私はDinkumwareの実装がmsvcとiccで使用されていることを知っています。libstdC++はgccで使用され、libC++はclangで使用されています。しかし、Digital Mars C++やEmbarcaderoのbcc、IBMのxlC++はどうでしょうか?

+1

clangは 'libstdC++'も使用できることに注意してください。 – Morwenn

+0

現在、iccはgcc stdライブラリを使用しています。とにかく、なぜこの情報が必要なのか不思議です。 – user93353

+0

@ user93353:私の場合、実際には重要なことは何もありません。この質問につながった同僚間の議論。私はその情報のリストを見つけることができないので、もっと興味があります。 –

答えて

4

のショートリスト:

  • GCCは:独自ののlibstdC++を使用しています。
  • MSVC:Dinkumwareから購入した独自のmsvcrpを使用し、MSVCの悪いC++言語サポートを回避するように切り離されました(これは本当にDinkumwareではありません)。
  • Clang:-stdlib=libc++オプションを渡した場合、LLVMのlibC++を使用します。また、GCCのlibstdC++を使用することもできますが、実際にはMSVCのライブラリ(理論上はClangは現在のところC++ヘッダーのみを解析できますが、生成されたコードをライブラリにリンクすることはできません)
  • ICC:LinuxではGCC libstdC++、WindowsではMSVCのライブラリを使用します。また、これらのプラットフォームで両方のコンパイラを模倣しようとします。

ここでは、他のコンパイラと(独立した)C++標準ライブラリの実装については触れていません。

関連する問題