C 编程:如何弃用 INLINE 函数
C programming: How to deprecate INLINE function
如何弃用 __STATIC_INLINE
函数。我知道我必须使用 __attribute__ ((deprecated))
但如何将它用于以下功能:
__STATIC_INLINE void Foo()
{
...
}
更新:
我的目标是使用 #define
来声明弃用属性,例如:
#define THIS_IS_DEPRECATED __attribute__ ((deprecated))
并使用 #define 弃用 API。
更新 2:如果我使用:
,建议的解决方案有效 50%
__STATIC_INLINE void THIS_IS_DEPRECATED Foo()
{
...
}
现在我收到弃用警告,但出现了另一个错误:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Foo'
428 | __STATIC_INLINE void THIS_IS_DEPRECATED Foo(void)
| ^~~~~~~~~
static inline __attribute__((deprecated)) void Foo()
{
}
适合我。当我尝试使用它时它会生成警告。
但是我不确定 __STATIC_INLINE
是什么?
根据您的评论进行编辑:
你的意思是像
#define THIS_IS_DEPRECATED __attribute__((deprecated))
static inline THIS_IS_DEPRECATED void Foo()
{
}
如何弃用 __STATIC_INLINE
函数。我知道我必须使用 __attribute__ ((deprecated))
但如何将它用于以下功能:
__STATIC_INLINE void Foo()
{
...
}
更新:
我的目标是使用 #define
来声明弃用属性,例如:
#define THIS_IS_DEPRECATED __attribute__ ((deprecated))
并使用 #define 弃用 API。
更新 2:如果我使用:
,建议的解决方案有效 50%__STATIC_INLINE void THIS_IS_DEPRECATED Foo()
{
...
}
现在我收到弃用警告,但出现了另一个错误:
error: expected '=', ',', ';', 'asm' or '__attribute__' before 'Foo'
428 | __STATIC_INLINE void THIS_IS_DEPRECATED Foo(void)
| ^~~~~~~~~
static inline __attribute__((deprecated)) void Foo()
{
}
适合我。当我尝试使用它时它会生成警告。
但是我不确定 __STATIC_INLINE
是什么?
根据您的评论进行编辑:
你的意思是像
#define THIS_IS_DEPRECATED __attribute__((deprecated))
static inline THIS_IS_DEPRECATED void Foo()
{
}