[C语言] 头文件无申明外部函数,但外部却能被其它函数调用??

[复制链接]
2044|5
 楼主| 小鱼儿1045 发表于 2015-5-19 15:05 | 显示全部楼层 |阅读模式
今天调试遇到的,key.c里面一些子函数,忘了在key.h的文件申明。但mian函数里面却调用了key.c里面的子函数,编译居然通过了,仿真也没问题。然后试试其它部分功能的.h和.c就不行了,.h文件注释掉外部函数,编译通不过。有人遇到类似的怪问题吗?
剑倾、天下 发表于 2015-5-19 15:20 | 显示全部楼层
没遇到过
dragonhux 发表于 2015-5-19 15:42 | 显示全部楼层
编译器会默认所调用的函数为 void func(void),在一定条件是可以不用提前声明的
ningling_21 发表于 2015-5-19 16:04 | 显示全部楼层
.C文件中的函数不一定在该C文件对应的.H文件中声明,其它文件中声明也可以编译和运行
ayb_ice 发表于 2015-5-19 16:11 | 显示全部楼层
可能:
1: 是包含了key。c了,
2: 有声明,不一定非要在对应的头文件,只要有适当声明就可以了
3: 有些编译器确实是不需要声明的,只会给个警告,而警告功能也可以关闭
4: 其它未知原因
21icszx 发表于 2015-5-19 20:02 | 显示全部楼层
ayb_ice 发表于 2015-5-19 16:11
可能:
1: 是包含了key。c了,
2: 有声明,不一定非要在对应的头文件,只要有适当声明就可以了

同意2:有声明,不一定非要在对应的头文件,只要有适当声明就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

70

主题

1968

帖子

19

粉丝
快速回复 在线客服 返回列表 返回顶部