gpt4 book ai didi

c++ - gnu c++0x 向后兼容状态 - 我可以打开它然后继续吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:26:48 27 4
gpt4 key购买 nike

我有一个相当大的 C++ 代码库(不是自己写的)。许多库,有些在语法上不那么重,有些非常重。其中大量使用了 Boost,一些 Eigen。

我只是喜欢 0x 的一些新特性,快速编译/测试告诉我它看起来一切都很好。 This question , and this one建议有些东西闻起来很有趣。

我现在的状态是:

  • gcc4.4.3
  • libstc++6-4.4
  • boost-1.40
  • 本征 3.0 - beta3

使用 std=c++0x 标志。

我知道标准委员会一直在为向后兼容性而苦恼并忍受着巨大的痛苦。我的问题是,它有效吗?我能否获取所有这些代码,打开 c++0x 并确定一切不仅编译而且按预期工作?

我不使用高 0x 魔法,只是 auto 和一些在 GNU C++0x status 上明确标记为“已实现”的常用收藏夹.

最佳答案

我肯定会推荐使用 GCC 4.5,因为它修复了更多的错误,并且更可靠地实现了最新的 C++0x。

关于您链接的问题:

  1. 这只是新平台上的类型定义。别担心,它不会真正破坏任何东西或难以修复。

  2. 这是更复杂的 C++0x 功能之一,但不应该对向后兼容性产生太大影响(除非 boost 试图将自己破解成一个将成为编译器的功能/语言功能)。

检查是否存在问题的唯一真正方法是打开编译器标志,然后查看是否弹出任何问题。更好的是,打开完整的警告(至少在 GCC 上,MSVC 在这方面有一些棘手的问题)以检测尽可能多的被破坏的问题。不过这不防水。您可能希望使用不同的编译器 (GCC/MSVC/Intel/Clang) 来交叉检查兼容性,但在 c++0x 的情况下,您将非常局限于用于检查的编译器的通用子集。目前我广泛使用 C++0x,并打算解决最终标准实现时出现的任何问题。

关于c++ - gnu c++0x 向后兼容状态 - 我可以打开它然后继续吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5441847/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com