什么是libc++和libstdc++
What is libc++ and libstdc++
我有几个问题。
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++。
相关文章:
- 在继承自 std::variant 的类上使用 std::visit——libstdc++ 与 libc++
- 在libc++和libstdc++之间的std::map上使用std::find时的实现差异
- std :: iterator_traits libstdc 和libc 之间的分歧
- 如何使用libc libstdc 混合的链接库
- 为什么从管道读取时libc++getline会阻塞,而libstdc++getline不会
- libstdc++已弃用;移动到libc++[-Wdeprecated],但是更改会产生编译错误
- gnustl (libstdc++) to llvm (libc++ ) errors
- 程序同时链接到libstdc++和libc++意味着什么?
- libstdc++ 和 libc++ 之间的行为差异:运算符>> 在位集上
- 在Adobe Flex本机扩展中使用libc++而不是libstdc++
- 如何在使用旧版本gcc的系统上动态链接到libc.so.6、libstdc++.so.6的本地副本
- 获取指向成员std::string::size的指针无法与libc++链接,但可以与libstdc++一起使用
- 从新发行版和不同发行版加载LD_PRELOAD libstdc++.so.6和libc.so.6时出现浮点异常
- istream的运算符之间的差异>>libc++和libstdc++之间的double&val)
- 是在Mac上使用libc ++或libstdc++构建的库
- 为什么libc++的std::string实现占用了libstdc++的3倍内存?
- 使用-static libgcc-static libstdc++编译仍然会导致对libc.so的动态依赖
- libc++和libstdc++之间存在差异
- 如何链接GCC中的libc和libstdc++的调试版本
- 什么是libc++和libstdc++