C “使用”就足够了吗#pragma inline“;关于IAR编译器的函数原型?

C “使用”就足够了吗#pragma inline“;关于IAR编译器的函数原型?,c,pragma,iar,C,Pragma,Iar,我自己不使用IAR,我自己也不能测试它(否则我不会在这里问这个问题) 我的问题是:在函数原型上应用#pragma inline=xxxxx是否足够(因为可以使用gcc中的uuu属性uuu),并且在文件中的某个地方有定义,而没有这个#pragma gcc示例: static inline int __attribute__((always_inline)) foo(int x); /* .... */ static inline int foo(int x) { return x +

我自己不使用IAR,我自己也不能测试它(否则我不会在这里问这个问题)

我的问题是:在函数原型上应用
#pragma inline=xxxxx
是否足够(因为可以使用gcc中的
uuu属性uuu
),并且在文件中的某个地方有定义,而没有这个
#pragma

gcc示例:

static inline int __attribute__((always_inline)) foo(int x);

/* .... */

static inline int foo(int x)
{
    return x + x;
}
在使用IAR编译器编译时,我希望使用
#pragma inline=…
实现相同的功能

#pragma inline=forced
static inline int foo(int x);

/* .... */

static inline int foo(int x)
{
    return x + x;
}

我的问题是:它能在IAR中工作吗?

是的,它能工作。如果在函数原型上应用
#pragma inline=forced
,编译器将识别出
foo()
是一个强制内联函数。

如果不使用IAR并且无法测试它,为什么要知道?如果是给别人的,你为什么不问问那个人?IAR的文件说明了什么?