【问题标题】:What are the alternatives to the standard C++ library and boost with a clear implementation? [closed]标准 C++ 库和具有清晰实现的 boost 的替代方案是什么? [关闭]
【发布时间】:2012-10-27 01:02:37
【问题描述】:

我对标准库没有特别的问题,唯一真正的问题是 C++ 库用于将代码与一堆头文件连接起来,而真正的实现很大程度上取决于我的应用程序将在目标机器上找到什么就图书馆而言。

所以我一直在寻找带有容器、算法和迭代器的库,可能是开源的,具有清晰的实现,到目前为止我只找到了这 2 个:

  • 增强库
  • QT 库

但这都不是真正的 C++ 标准库,我的意思是 QT 主要是一个 GUI 库,提供容器和其他好东西,boost 非常简单,所有 C++ 标准-like 组件只是这个库的一小部分,而且这个库移植到新目标也不是一件容易的事,因为构建系统有一个非标准的工具链并且它使用自己的构建解决方案 (bjam)。

最后,对于 boost 和 QT,我没有得到一个简单的解决方案或可行的解决方案,可以像我希望的那样替换 C++ 库。

到目前为止,我发现的最好的项目是Apache C++ Standard Library,它刚刚好,但这个项目已经死了。

有人可以建议一个库来替代标准库,并且它是具有许可许可证的开源库?

【问题讨论】:

  • 还是不清楚为什么标准库不能用?它是标准的,因为所有符合要求的实现都应该提供它。另外,试想一下,如果std 中提供了某些功能,那么为什么有人会痛苦地再次重新编写/重新测试所有内容?
  • @iammilind ...所以我正在寻找一个现成的库:)
  • 准备好用于什么?我看不出替换标准库的必要性,除非你的编译器只提供部分实现。
  • @juanchopanza 我们可以谈谈替代方案吗? qt 和 boost 是前 2 个,其他是什么?

标签: c++ c++-standard-library


【解决方案1】:

真正的实现很大程度上取决于我的应用程序将 根据库在目标机器上查找

真正的实现基本上取决于你的编译器,而不是你运行程序的机器。

不同的编译器可能有不同的实现,但是我相信这不是用自制的东西来代替如此广泛和深思熟虑的库的理由。这就是您不太可能找到这么好的替代库的原因。

【讨论】:

  • 当我在谈论自制的东西时?如果这是真的,我不明白为什么 QT 提供自己的标准库实现。例如在 Windows 下,当我的程序使用 Microsoft C++ 库时,我认为我的编译器无法对这个库做些什么,我必须坚持下去。
  • 提供自己的容器的库通常会因为一些不合理的恐惧而这样做。这些都是过去的错误。您可以放心地依赖 STL 实现。顺便说一句,只有少数在使用中(你可以看到它们here)。
【解决方案2】:

似乎没有人了解您希望通过切换到替代库来实现什么,这就是您没有得到任何答案的原因。

STL 库普遍适用于从烤面包机到超级计算机的任何设备。它还经过积极优化,以在目标平台上提供尽可能高的性能。

现在,让我澄清你的一些观点。

P1。 “真正的实现很大程度上取决于我的应用程序将在目标机器上找到什么库”

错误,C++ 标准库是在 C 标准库之上实现的,它们都是随任何下降编译器一起提供的。两者都可以使用系统调用来做一些低级的事情,比如打开文件、创建线程等。就是这样,没有其他依赖项,由标准保证。

【讨论】:

  • 实际上标准库可用于从烤面包机到超级计算机的所有设备。它很可能在许多(甚至大多数?)嵌入式平台上不可用。
猜你喜欢
  • 2012-02-10
  • 1970-01-01
  • 2011-02-23
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多