未使用的功能警告

前端之家收集整理的这篇文章主要介绍了未使用的功能警告前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在头文件中有方法,我添加了静态关键字.例如

static int32_t Tlvlist_AddRawt(Tlvlist *a,uint8_t type,uint16_t size,const void *bytes);

方法在.c文件中实现静态
函数名中不存在关键字.

从同一.c文件的另一个函数调用方法.
后一个函数(使用此静态函数)也从main调用.

但我得到警告:头文件中的“未使用的函数’Tlvlist_AddRawt’”.
为什么会这样?

PS.我用Xcode.

解决方法

函数声明标记为静态时,它在出现的转换单元外部不可见.而且,它代表了它出现的每个翻译单元中的不同功能.因此,在头文件中使用static几乎不是一个好主意,因为这样你就会在包含头文件的每个C源中声明一个单独的函数.

编译器诊断告诉您至少有一个C文件包含您的标头但未提供Tlvlist_AddRawt()的定义以与标头中的声明一起使用.

如果要将静态函数与其定义分开声明 – 例如将其原型化为源文件中较早出现的其他函数 – 则将声明放在C源文件的顶部,而不是在其中显示其正文在标题中.将它放在标题中会适得其反.

猜你在找的Xcode相关文章