我有以下代码:
static __inline__ LIST list_List(POINTER P)
{
return list_Cons(P,list_Nil());
}
编译后我收到以下警告:
inlining is unlikely but function size may grow
我删除了内嵌并更改为以下内容:
static LIST list_List(POINTER P)
{
return list_Cons(P,list_Nil());
}
现在我收到以下警告:
list_List is defined but not used.
在删除之前,我不习惯得到“功能已定义但未使用” 的内联即可。我删除内嵌后才收到警告。实际上使用了该功能。当我评论上述功能时,我收到以下错误:
In function
(.text+0x148b): undefined reference to `list_List'
In function `list_CopyWithElement':
有人可以建议我如何删除该警告。
答案 0 :(得分:2)
“static”表示该函数只能在当前编译单元的范围内使用(源文件,基本上,除非你用#include做奇怪的事情)。
因此,编译器警告您已声明一个不能在当前源文件之外使用的函数,但该函数不在(当前)在该源文件中使用。