gpt4 book ai didi

c++ - 在 Mac OS 10.6 上使用 boost::xpressive 编译时间过长

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

我们使用 boost::xpressive 在 C++/ObjC 应用程序中处理正则表达式。自从更新到 Mac OS 10.6 后,我们发现编译时间非常长(在 Dual-Quad MacPro 上每个文件 (!) 需要 1-2 分钟...),其中表达式是通过 sregex::compile( ).此外,整个系统的性能变慢,导致应用程序 react 迟钝;对于所有其他文件,编译按预期运行。

使用的编译器是 gcc4.2,在 10.5 和 10.6 上都是。您有类似的经历和/或建议吗?有没有办法使用 PCH 来防止这种情况?

感谢和问候
马蒂亚斯

最佳答案

使用模板化模板(这就是 boost 的全部意义(好吧,不仅如此,还有很多))在许多编译器中相当慢。这会导致 Boost.Spirit、Boost.Expressive 和其他编译时间变差。已知问题,Boost 邮件列表中的常规主题。

你可以

  • 阅读文档并希望获得提示(一些 Boost Libs 确实记录了此类内容)
  • 也许 Boost.Regex 有更好的编译时间
  • 确保你只在 .cpp 文件中使用这些东西——如果你在头文件中使用这些东西,你的编译时间将在“无关”文件中受到影响
  • 将 Boost.Expressive 代码分离到单独的 .cpp 文件中
  • 希望下一个 g++ 版本能够更好地处理模板代码

关于c++ - 在 Mac OS 10.6 上使用 boost::xpressive 编译时间过长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4912734/

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