如何在GCC中使用某些参数(例如max-unroll-times)展开某个循环

时间:2016-05-20 11:41:19

标签: c++ c gcc parameters unroll

如果我希望GCC展开其中一个循环,我应该如何编写代码 我的代码有某些参数,例如GCC中的max-unroll-times?

1 个答案:

答案 0 :(得分:0)

尝试一下:

#pragma GCC push_options
#pragma GCC optimize ("O3", "unroll-loops")
void func()
{
    #pragma GCC unroll 4
    for (...)
    {
    }
}
#pragma GCC pop_options

max-unroll-times之类的参数似乎无法通过#pragma控制;如果您确实需要为不同的循环使用不同的值,请将每个循环移到单独文件中的函数中,然后使用所需的选项进行编译。