用c编程时,如果在头文件里定义了几个函数,需要在那个头文件里用extern声明一下这些函数么?
答案:3 悬赏:50 手机版
解决时间 2021-02-20 01:29
- 提问者网友:聂風
- 2021-02-19 17:56
用c编程时,如果在头文件里定义了几个函数,需要在那个头文件里用extern声明一下这些函数么?
最佳答案
- 五星知识达人网友:往事隔山水
- 2021-02-19 19:05
extern 是外部的意思。
如果 在头文件里 写的只是 几个函数的原型声明,而函数定义在别的文件中,则可以加 extern。编译器 做 链接时 会到 外面(.obj 或库)去找。
如果 在头文件里 写了完整的函数定义,那么,它就不是外部函数。不能加extern。
一般情况下,好象不用写extern,编译器在本程序找不到,自己会到库里找,找不到会报错。VC++编译器。
如果 在头文件里 写的只是 几个函数的原型声明,而函数定义在别的文件中,则可以加 extern。编译器 做 链接时 会到 外面(.obj 或库)去找。
如果 在头文件里 写了完整的函数定义,那么,它就不是外部函数。不能加extern。
一般情况下,好象不用写extern,编译器在本程序找不到,自己会到库里找,找不到会报错。VC++编译器。
全部回答
- 1楼网友:患得患失的劫
- 2021-02-19 20:51
如果你在a.h 中声明 a。c中实现, 却在b。c中调用,又对a。h中其他东西不感兴趣,就在b。h 中 extern 就行了,我估计你那样是 在前边 include a。h 又 exturn了 所以会出现undeclare这种情况
- 2楼网友:長槍戰八方
- 2021-02-19 20:43
extern就是字面的上的意思,表示由extern修饰的函数位于别的文件里,在编译的时候先认为这些函数是存在的或者在其他文件里去找,链接的时候再做处理。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯