什么是libc++和libstdc++

What is libc++ and libstdc++

本文关键字:libstdc++ libc++ 什么      更新时间:2023-10-16

我有几个问题。

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

他们之间有什么区别?

3)它们可以互换吗?

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

5)什么时候应该使用其中一个?

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

它们是c++标准库的实现。

他们之间有什么区别?

它们是完全不同的实现。

3)它们可以互换吗?

是的,您应该能够互换使用它们。(然而,你不能轻易地在同一个程序中使用这两种方法。)

5)我应该在什么时候使用哪一个?

你不必担心那个。您的代码应该与任何标准库实现一起工作。

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

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

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

libc++存在的一个主要原因是libstdc++是GPL的,所以苹果不能发布它,所以你可以把libc++看作是非GPL的libstdc++。