web-dev-qa-db-ja.com

LLVMのlibc ++ライブラリとlibc ++ abiライブラリの違いは何ですか?

2つのプロジェクトはかなり関連しているのを見ましたが、それらの違いは何ですか?公式ウェブページはそれについて多くを語っていません。

ABI(Application Binary Interface)を使用して、さまざまなプラットフォーム間で低レベルのバイナリインターフェイスを提供していることを知っています。では、libc ++ abiは、プラットフォームごとに異なる実装を提供するために使用され、libc ++の一般的なインターフェイスを提供するために使用されますか?

いくつかの特定の例を挙げてみたほうがよいでしょう。 libc ++ abiに含まれているものとlibc ++に含まれているもの。

ありがとう。

15
gkso

Application Binary Interface 、または略してABIは、C++標準ライブラリを構築するための特定の低レベル関数を提供することを目的としています。これは、実際の標準ライブラリとは別のコンポーネントであるサポートライブラリです。 libcxxabi に加えて、Pathscaleの libcxxrt またはGCCの libsupcxx に出くわすこともあります。

一方、 libc ++ は、前述の3つのABIのいずれかを使用して構築できるC++標準ライブラリの実装です。

5
Thebluefish