加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

未使用的功能警告

发布时间:2020-12-14 17:14:16 所属栏目:百科 来源:网络整理
导读:我在头文件中有方法,我添加了静态关键字.例如 static int32_t Tlvlist_AddRawt(Tlvlist *a,uint8_t type,uint16_t size,const void *bytes); 该方法在.c文件中实现静态 函数名中不存在关键字. 从同一.c文件的另一个函数调用此方法. 后一个函数(使用此静态函
我在头文件中有方法,我添加了静态关键字.例如

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源文件的顶部,而不是在其中显示其正文在标题中.将它放在标题中会适得其反.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读