简而言之,我正在寻找STLPort的替代品。STLPort已经有一段时间没有更新了(自2008年以来?)并且缺乏C++11支持。有没有人知道其他的选择?我需要使用各种工具链进行编译,用于各种架构和各种目标OSes。
我将开始研究GNU C++的实现,看看它是如何与GCC工具链捆绑在一起的,作为替代方案,并将返回结果。但是,如果任何人在这里有任何预先的知识,那就太好了。
替代方案是实现各种关键的C++11 STL特性,比如新的智能指针类型和std::thread。最坏的情况下,我可能可以从boost中提取智能指针。在pthread或Windows线程方面,有没有std::thread的实现?
谢谢
发布于 2013-11-21 05:36:47
你可以看看libc++。它是clang的标准C++库。我没有尝试过使用不同的编译器或MacOS之外的不同平台来编译它。虽然确实存在编译器依赖项,例如,在<type_traits>和来自语言支持库(例如,<exception>、<type_info>等)的头文件中,但我可以想象大多数代码将使用其他编译器进行编译。
您已经提到了libstdc++,它似乎可以与gcc以外的其他编译器一起工作,至少在Linux和MacOS上是这样:clang过去常常在MacOS上使用libstdc++。然而,我现在不知道用其他编译器编译libstdc++有多高兴。
对于特定的类,例如std::shared_ptr<T>或std::thread类组,您可以从Boost获得合适的替换实现。
发布于 2014-07-10 07:09:27
除了gcc和clang附带的实现之外,还有一个第三方开源uSTL (支持c++11 )。根据它的网站,它的目的是减少“模板膨胀”的一些开销。但是,它不实现wchar字符串。它们也有非标准的内存分配。
在他们的网站上有一些例子展示了如何使用它来代替gcc的stl。
https://stackoverflow.com/questions/20091289
复制相似问题