综合技术
直播中

武梨格

7年用户 230经验值
私信 关注
[问答]

为什么编译时有Warning说这个函数有定义未声明?

在LWIP1.3里面dns.c里面有定义了一个static u32_t dns_lookup(const char *name){。。。。}
并且在dns.h里面进行了声明static u32_t dns_lookup(const char *name);
为什么编译时有Warning 说这个函数有定义未声明呢?

回帖(5)

周密

2019-10-31 08:55:31
既然定义为static了,就表示 “希望该函数对其他模块不可见”,那么就不要在头文件声明了。
所有在.c文件中定义为static的变量、函数,即使在头文件中向外声明,其他模块还是无法连接到该函数的(只能是函数定义的区域可见)。
举报

李明烨

2019-10-31 09:06:58
帮顶。。。。。。
举报

刘琴

2019-10-31 09:18:15
看 static 用法,静态函数的作用域。
举报

黄锐

2019-10-31 09:36:32
回复【4楼】加速度:
--------------------------------
明白,谢过。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分