问答详情
源自:4-2 [Linux C语言] 头文件与函数定义分离

gcc智能编译失败说我未申明

这是hello.c文件源码:

#include <stdio.h>
//#include "max.c"
//#include "min.c"

int main()
{
    int a1=33;
    int a2=21;
    int maxNum=max(a1,a2);
    int minNum=min(a1,a2);
    printf("the max value is %d\nthe min value is %d\n",maxNum,minNum);
    return 0;


}

这种情况下输入命令:gcc hello.c max.o min.o 然后回车为什么会:

hello.c: In function ‘main’:
hello.c:9:16: warning: implicit declaration of function ‘max’ [-Wimplicit-function-declaration]
     int maxNum=max(a1,a2);
                ^
hello.c:10:16: warning: implicit declaration of function ‘min’ [-Wimplicit-function-declaration]
     int minNum=min(a1,a2);

提问者:Air00000 2017-09-03 02:09

个回答

  • 肖耀仔
    2019-01-14 22:22:28

    我猜这个因为gcc版本导致的,还是需要声明引用。我页遇到了,但我没找到怎么引用呢

  • 慕侠3157788
    2018-07-19 11:37:41

    我也这样。。同求!!

  • 日光_倾城
    2017-10-04 15:22:22

    被包涵的一些函数要先编译

  • 日光_倾城
    2017-10-04 15:20:23

    要gcc max.o min.o hello.c

  • 精慕门447435
    2017-09-05 14:38:34

    gcc版本问题吧    gcc -v