什么是 libc++ 和 libstdc++

Вит*_*аев 8 c++ libstdc++ libc++

我有一些问题。

1) 什么是libc++libstdc++

2)它们之间有什么区别?

3)它们可以互换吗?

4)这是编译器应该实现的东西吗?

5) 我什么时候应该使用一个或另一个?

Tom*_*ton 11

libstdc++ 是 GNU c++ 标准库实现。

libc++ 是 LLVM/clang c++ 标准库实现。

即使使用 clang 编译,也经常使用 libstdc++ (gnu)(在 Linux 上)。

libc++ (clang) 存在的一个主要原因是 libstdc++ (gnu) 是 GPL,因此 Apple 无法发布它,因此您可以将 libc++ 视为非 GPL libstdc++。


Eri*_*cWF 6

1) 什么是 libc++ 和 libstdc++ ?

它们是C++ 标准库的实现

2)它们之间有什么区别?

它们是完全不同的实现。

3)它们可以互换吗?

是的,您应该可以互换使用它们。(但是,您不能在同一个程序中轻松地同时使用两者。)

5) 我什么时候应该使用一个或另一个?

你不应该担心这个。您的代码应该适用于任何标准库实现。