这几天在写Linux的静态库的时候遇到一个问题,就是为什么组成静态库的源文件之间的函数可以相互调用,而且不用通过任何头文件的辅助和声明?
具体情况如下,我写了一个简单的案例
TestLib1.c:
#include
#include
void A()
{
printf("this is function a\n");
B();//这个函数文件在TestLib2.c中
}
TestLib2.c:
#include
#include
void B()
{
printf("This is function B\n");
}
TestLib1.c和TestLib2.c共同形成libtest.给主函数文件Test.c使用
Test.c:
#include
#include
int main()
{
printf("This is Test main\n");
A();
}
可以运行成功,请问这是为什么在LibTest1.c中调用LibTest2.c的B函数可以不用头文件辅助或是extern声明?请大神讲解一下