支持C++11的开源STL实现
Open source STL implementations with C++11 support
简而言之,我正在寻找STLPort的替代方案。STLPort已经有一段时间没有更新了(自2008年以来?),并且缺少对C++11的支持。有人知道其他选择吗?我需要使用各种工具链,针对各种体系结构和各种目标操作系统进行编译。
我将开始研究GNU C++实现,看看它与GCC工具链作为一种替代方案的联系,并将发布结果。但如果有人在这里有任何前沿知识,那就太好了。
替代方案是实现各种关键的C++11 STL功能,如新的智能指针类型和std::线程。最糟糕的情况是,我可能会从boost中提取智能指针。在pthreads或Windows线程方面,有没有std::线程的实现?
感谢
您可以查看libc++。它是clang的标准C++库。我还没有尝试过用不同的编译器或在不同的平台上编译它。虽然肯定存在编译器依赖性,例如在<type_traits>
和语言支持库的头文件(例如<exception>
、<type_info>
等)中,但我可以想象大多数代码都会使用其他编译器进行编译。
您已经提到了libstdc++,它似乎可以与gcc以外的其他编译器配合使用,至少在Linux和MacOS上是这样:clang过去在MacOS上使用libstdc++。然而,我现在不知道用其他编译器编译libstdc++有多高兴。
对于特定的类,例如std::shared_ptr<T>
或std::thread
类组,您可以从Boost获得合适的替换实现。
除了gcc和clang附带的实现之外,还有一个第三方开源uSTL(支持c++11
)。据其网站介绍,此举旨在减少"模板膨胀"的一些开销。但是,它不实现wchar
字符串。它们也有非标准的内存分配。
他们的网站上有一些例子展示了如何使用它来代替gcc的stl。
- 为什么使用 NDK 不能存在不同的 stl 实现?
- glibcxx STL 在实现 std::valarray::sum() 时是否不正确?
- 如何使用STL实现Prim算法?
- 有没有办法让 C 预处理器更改我正在使用的 STL 实现?
- C 11 std ::在不同的STL实现中使用哪些算法
- 使用C 中的STL实现DF时遇到的分割故障
- 为什么STL实现不使用断言来检测未定义的行为
- 支持C++11的开源STL实现
- C++对原始STL实现中"construct"方法逻辑的理解
- C++11 及更高版本中的替代 STL 实现
- 修复使用 OpenCV 的混合 STL 实现
- 为什么我们需要交换在反向STL实现?加速c++(第8.4节)
- BFS的STL实现:访问邻接列表时出现问题
- 在STL实现中有中心分配队列或向量吗?
- 在c++中使用STL实现BFS
- 如果一个Android NDK应用程序加载了多个共享的c++ STL实现,它的行为是什么?
- STL实现的MVP设计模式
- 用STL c++实现非递增列表
- 如何使用STL实现自定义字符串类?
- 视觉 C++标准是否指定编译器的 STL 实现详细信息