简而言之,我正在寻找 STLPort 的替代品。 STLPort 已经有一段时间没有更新了(自 2008 年以来?)并且缺乏 C++11 支持。有谁知道任何替代方案?我需要为各种架构和各种目标操作系统使用各种工具链进行编译。
我将开始研究 GNU C++ 实现,看看它与 GCC 工具链作为替代方案的关联程度,并将返回结果。但是,如果有人在这里有任何前期知识,那就太好了。
对此的替代方案是实现各种关键的 C++11 STL 特性,如新的智能指针类型和 std::threads。最坏的情况下,我可能可以从 boost 中提取智能指针。就 pthread 或 Windows 线程而言,是否有任何 std::threads 实现?
谢谢
最佳答案
你可以看看libc++ .它是 clang 的标准 C++ 库.我没有尝试使用与 MacOS 不同的编译器或在不同的平台上编译它。虽然肯定存在编译器依赖关系,例如,在 <type_traits>
以及语言支持库中的头文件(例如 <exception>
、 <type_info>
等),我可以想象大部分代码都可以与其他编译器一起编译。
你已经提到了libstdc++这似乎与 gcc 以外的其他编译器一起工作正常,至少在 Linux 和 MacOS 上:clang用于在 MacOS 上使用 libstdc++。但是,我现在不高兴 libstdc++ 与其他编译器一起编译。
对于特定的类,例如std::shared_ptr<T>
或 std::thread
一组类,您可以从 Boost 获得合适的替换实现.
关于c++ - 支持 C++11 的开源 STL 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20091289/