在源文件A.c里定义的函数,在其它源文件里是看不见的(即不能访问)。为了在源文件B.c里能调用这个函数,应该在B的头部加上一个外部声明:
extern 函数原型;
//这样,在源文件B.c里也可以调用那个函数了。
当写在头文件里A.h,如果A.h里定义了一个函数extern int fun();
如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用。
如果定义函数的c文件在对应的头文件中声明了定义的函数,那么在其他c文件中要使用这些函数,只需要包含这个头文件即可。
如果你不想包含头文件,那么在c中声明该函数。一般来说,声明定义在本文件的函数不用“extern”,声明定义在其他文件中的函数用“extern”,这样在本文件中调用别的文件定义的函数就不用包含头文件
如果在头文件中声明了extern int fun(),在在相应的.c文件中又实现了int fun()函数,编译器则就近使用本地定义的
extern 函数原型;
//这样,在源文件B.c里也可以调用那个函数了。
当写在头文件里A.h,如果A.h里定义了一个函数extern int fun();
如果函数的声明中带有关键字extern,仅仅是暗示这个函数可能在别的源文件里定义,没有其它作用。
如果定义函数的c文件在对应的头文件中声明了定义的函数,那么在其他c文件中要使用这些函数,只需要包含这个头文件即可。
如果你不想包含头文件,那么在c中声明该函数。一般来说,声明定义在本文件的函数不用“extern”,声明定义在其他文件中的函数用“extern”,这样在本文件中调用别的文件定义的函数就不用包含头文件
如果在头文件中声明了extern int fun(),在在相应的.c文件中又实现了int fun()函数,编译器则就近使用本地定义的