如何将lambda放在与GCC不同的部分?

时间:2014-07-10 05:07:39

标签: gcc lambda

我使用C ++ 11编译器生成嵌入式代码,我想在其中使用lambda函数。但是我需要将实际生成的lambda函数代码放在不同的部分中,或者总是将其内联到函数/方法中(默认情况下,如果某些lambda函数没有内联,则将其放入' .text& #39;部分)。有没有办法为lambda函数设置section属性?或者有没有办法让GCC编译器始终内联lambda函数?

1 个答案:

答案 0 :(得分:0)

这会将lambda放在.mylambdas部分

auto myLambda = [&]() __attribute__((section(".mylambdas")) 
{ 
  ... 
};

注意:如果在常规类方法和const类方法中对lambdas使用相同的节名,则gcc会出现错误。 Clang还可以。一种解决方法是使用const方法的另一个节名,如果可能的话。