gpt4 book ai didi

optimization - 检查 waf 中的编译器优化标志

转载 作者:行者123 更新时间:2023-12-03 17:18:26 24 4
gpt4 key购买 nike

我已经开始使用 waf 构建系统作为 CMake 的替代品。到目前为止,这是一次很棒的经历。但是,我想不出有条件地将优化标志传递给编译器的好方法。我编写的一些代码受益于仅在最近的 gcc 版本中可用的特定优化标志,但我希望我的代码尽可能可移植。因此,我想在将它们添加到用于编译的 cxx 标志列表之前检查编译器是否支持这些标志。最简单的方法是什么?

最佳答案

您可以使用 ConfigSet cfg.env 的 stash 功能来测试带有代码块的 CFLAGS:

  • 存储 cfg.env
  • 添加 CFLAGS
  • 执行检查,如果检查失败,恢复cfg.env

  • 请记住,特定的 CFLAGS 不可移植,如果您更改编译器或目标架构,它们将无法工作。您可能希望您的代码与不同的编译器一起使用,因此只有在您可以识别编译器时才应启用(添加)特定的 CFLAGS。

    如果您的代码是开源的,如果您的代码不是性能关键的,请不要费心强加 CFLAGS。
    大多数 Linux 发行版会根据目标添加全局优化标志。

    关于optimization - 检查 waf 中的编译器优化标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7961675/

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