【问题标题】:LLVM compiler - How Can I Disable Optimization on a Specific Function?LLVM 编译器 - 如何禁用特定函数的优化?
【发布时间】:2012-02-23 15:29:17
【问题描述】:

我在优化代码时遇到了一个问题,它似乎是一个内联函数。
有没有办法阻止内联函数的优化?

【问题讨论】:

  • 这可能是优化器中的错误,但也可能是代码中的错误。当一个程序有未定义的行为时,一个结果可能是它在没有优化的情况下工作正常,但在优化时崩溃。尝试启用更多警告并打开 -fcatch-undefined-behavior-ftrapv 等功能
  • 我应该把这些标志放在哪里?
  • @ErikSapir 在项目的构建设置中,我认为他们应该进入“其他 C++ 标志”区域。 (你很幸运我看到了这个。我没有收到任何通知,因为你没有说@bames53)

标签: ios xcode cocoa llvm


【解决方案1】:

这将停止内联函数:

__attribute__((noinline))
void method(int a) {
    // Blah
}

如果您指的是实际优化级别,请查看the question @zoul referred to

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-02
    • 2013-08-30
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 2010-11-15
    • 1970-01-01
    相关资源
    最近更新 更多