如何解决使用 IAR 编译器在函数原型上使用“#pragma inline”就足够了吗?
我自己不使用 IAR,也无法自己测试(否则我不会在这里问这个问题)。
我的问题是:在函数原型上应用 #pragma inline=xxxxx
是否足够(因为可以在 gcc 中使用 __attribute__
)并且在没有这个 #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 中工作吗?
解决方法
是的,这会奏效。如果在函数原型上应用 foo()
,编译器会识别出 #pragma inline=forced
是一个强制内联函数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。