__attribute__((always_inline)) 函数属性

1、这个函数属性表示一个函数必须是内联的

编译器尝试内联函数,而不考虑函数的特征,在某些情况下,编译器可能会选择忽略attribute__((always_inline))属性,而不内联函数。例如:

    递归函数永远不会内联到自身中。

    使用alloca()的函数从不内联。

2、这个函数属性是ARM编译器支持的GNU编译器扩展。它的关键字等效于内联的 __forceinline。

3、例程

static int max(int x, int y) __attribute__((always_inline));
static int max(int x, int y)
{
    return x > y ? x : y; // always inline if possible
}

__forceinline 函数属性

发布了124 篇原创文章 · 获赞 21 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/tyustli/article/details/102536850
今日推荐