我有一个项目,通过gcc
命令行标志为所有文件设置了“-Os”优化。但是,我想在其中一个源文件中禁用某些方法的优化。为此,我试图为这些方法指定优化属性。但是,gcc
表示在构建期间忽略了optimize
属性。有谁知道问题是什么?
class C
{
public:
int __attribute__((optimize("-O0"))) foo();
.
.
};
我正在使用gcc版本4.4.3。
答案 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