根据C ++语言版本和标准库依赖性提升需求

时间:2014-10-27 10:41:36

标签: c++ c++11 boost embedded

经过大量研究并深入研究Boost图书馆文档后,我无法就以下问题找到答案或高层建议:

  • Boost对C ++语言版本的要求是什么? C ++ 03? C ++ 11?我怎么能现在哪个版本的Boost需要哪个版本的C ++语言?

    • 是否取决于特定的库(大多数情况下,包括.hpp文件)。
    • 我是否需要手动(作为最后的手段)检查我可能需要的所有库以及Boost的所有版本,从最新版本开始向后移动,以防我需要更严格的依赖项?
  • 哪些是与C ++标准库的依赖关系?

上下文:

  • 我正在评估在嵌入式平台上使用Boost(具有有限且无虚拟内存的MCU,没有底层操作系统)。
  • 我有GCC 4.8.1,支持C ++ 11。
  • 我们 没有这个平台的完整C ++标准库。
  • 我希望使用Boost作为C ++标准库的补充和替代,因此我对上述主题进行了研究。

我很欣赏Boost项目文档的高质量,但是,我在官方文档中找不到任何对上述主题的引用。也许我错过了什么。

P.S。:对C ++语言版本,标准库和Boost库的历史复杂主题的gente介绍,

http://news.dice.com/2013/03/15/comparing-the-c-standard-and-boost-2/

2 个答案:

答案 0 :(得分:1)

http://beta.boost.org/development/tests/master/developer/summary.html

这列出了一些针对测试的平台。 每一个版本,提升都会提到它经过测试的平台。

预计它将在比列出的平台更多的平台上工作,但没有任何保证。

答案 1 :(得分:1)

支持新c ++功能方面的boost库的支持和发展与其他库并不紧密相关。由于boost主要生活在单声道标准世界(c ++ 03),因此暗示它在c ++ 03中有效。但是,随着人们倾向于以聪明的方式做事,对于现在支持c ++ 11功能的库,他们要么使用一些功能仿真系统来保持它在c ++ 03上工作,要么测试你的配置,如果你不能使用一些高级内容然后他们只是禁用它。

所以基本上没有语言标准要求,它适用于具有不同功能集的所有c ++ 03 / C ++ 11 / C ++ 14。

对于其他要求(即STL的部分),它直接取决于您想要的库。最好的方法是测试。你可能会找到一种方法在你的平板上进行单元测试,看看有多少工作。

您可能还想检查Boost Config哪个库是其他人用来检查功能的库。