忽略'optimize'属性指令

时间:2010-08-23 10:37:20

标签: c++ linux optimization gcc attributes

我有一个项目,通过gcc命令行标志为所有文件设置了“-Os”优化。但是,我想在其中一个源文件中禁用某些方法的优化。为此,我试图为这些方法指定优化属性。但是,gcc表示在构建期间忽略了optimize属性。有谁知道问题是什么?

class C 
{
public:
    int __attribute__((optimize("-O0"))) foo();
    .
    .
 };

我正在使用gcc版本4.4.3。

2 个答案:

答案 0 :(得分:3)

放弃-。它不是必需的(或可能不是预期的。)

答案 1 :(得分:1)

您可以使用优化编译指示,详见 http://gcc.gnu.org/onlinedocs/gcc/Function-Specific-Option-Pragmas.html#Function-Specific-Option-Pragmas

#pragma GCC push_options
#pragma GCC optimize ("-O0")
int foo() {
  return bar;
}
#pragma GCC pop_options