1:警告信息
warning: implicit declaration of function ‘topo_analysis’ [-Wimplicit-function-declaration]
含义topo_analysis是函数是隐式声明
2:现象
当一个c文件中需要调用另一个c文件的函数是,会发生这种警告信息
例如:main.c 和test.c
/*************************************************************************
> File Name: main.c
> Author: kayshi
> Mail: kayshi2019@qq.com
> Created Time: Wed 11 Nov 2020 01:50:41 PM CST
************************************************************************/
#include <stdio.h>
int main()
{
test();
return 0;
}
/*************************************************************************
> File Name: test.c
> Author: kayshi
> Mail: kayshi2019@qq.com
> Created Time: Wed 11 Nov 2020 01:51:14 PM CST
************************************************************************/
#include <stdio.h>
void test()
{
printf("%s:%s %d", __FILE__, __FUNCTION__,__LINE__);
}
进行编译,会发生这种警告
这是由于在main.ct调用test.c的函数并没有进行显示声明
3:解决方法
3.1 使用extern
使用extern对要使用的函数进行外部声明
在main.c中添加 extern void test();
3.2:添加.h文件
在main.c中和test.c中添加一个新的头文件test.h, 在test.h中进行对函数test()声明
/*************************************************************************
> File Name: test.h
> Author: kayshi
> Mail: kayshi2019@qq.com
> Created Time: Wed 11 Nov 2020 02:00:08 PM CST
************************************************************************/
void test();