我使用C ++ 11编译器生成嵌入式代码,我想在其中使用lambda函数。但是我需要将实际生成的lambda函数代码放在不同的部分中,或者总是将其内联到函数/方法中(默认情况下,如果某些lambda函数没有内联,则将其放入' .text& #39;部分)。有没有办法为lambda函数设置section属性?或者有没有办法让GCC编译器始终内联lambda函数?
答案 0 :(得分:0)
这会将lambda放在.mylambdas部分
中auto myLambda = [&]() __attribute__((section(".mylambdas"))
{
...
};
注意:如果在常规类方法和const类方法中对lambdas使用相同的节名,则gcc会出现错误。 Clang还可以。一种解决方法是使用const方法的另一个节名,如果可能的话。