函数已定义但未在C中使用

时间:2010-05-12 12:42:58

标签: c compiler-warnings

我有以下代码:

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':

有人可以建议我如何删除该警告。

1 个答案:

答案 0 :(得分:2)

“static”表示该函数只能在当前编译单元的范围内使用(源文件,基本上,除非你用#include做奇怪的事情)。

因此,编译器警告您已声明一个不能在当前源文件之外使用的函数,但该函数不在(当前)在该源文件中使用。