用c编程时,如果在头文件里定义了几个函数,需要在那个头文件里用extern声明一下这些函数么?

2024-11-23 00:37:29
推荐回答(3个)
回答1:

extern 是外部的意思。

如果 在头文件里 写的只是 几个函数的原型声明,而函数定义在别的文件中,则可以加 extern。编译器 做 链接时 会到 外面(.obj 或库)去找。

如果 在头文件里 写了完整的函数定义,那么,它就不是外部函数。不能加extern。

一般情况下,好象不用写extern,编译器在本程序找不到,自己会到库里找,找不到会报错。VC++编译器。

回答2:

如果你在a.h 中声明 a。c中实现, 却在b。c中调用,又对a。h中其他东西不感兴趣,就在b。h 中 extern 就行了,我估计你那样是 在前边 include a。h 又 exturn了 所以会出现undeclare这种情况

回答3:

extern就是字面的上的意思,表示由extern修饰的函数位于别的文件里,在编译的时候先认为这些函数是存在的或者在其他文件里去找,链接的时候再做处理。