多文件编译报错。

来源:4-2 [Linux C语言] 头文件与函数定义分离

__ACTION

2015-06-11 13:21

http://img.mukewang.com/55791b6b000143f009310431.jpg

报错:warning: implicit declaration of function 'maxNum' is invalid in C99 [-Wimplicit-function-declaration]

代码如下:

是gcc版本问题么?是不是hello.c中要引入max.o?怎么引入?

wubiao@xMac0 cStudy$cat hello.c 
#include <stdio.h>
int main()
{
	int a = 33;
	int b = 20;
	int m;
	m = maxNum(a,b);
	printf("the max value is %d\n",m);
	return 0;
}
wubiao@xMac0 cStudy$cat max.c 
int maxNum(int a,int b)
{
	return a>b?a:b;
}
wubiao@xMac0 cStudy$gcc -c max.c -o max.o
wubiao@xMac0 cStudy$ls
hello.c    max.c      max.o      test.c     whichDay.c
wubiao@xMac0 cStudy$gcc max.o hello.c 
hello.c:7:6: warning: implicit declaration of function 'maxNum' is invalid in C99 [-Wimplicit-function-declaration]
        m = maxNum(a,b);
            ^
1 warning generated.


写回答 关注

3回答

  • 夜尽
    2016-01-06 16:21:27

    按照老师后面的步骤,先定义一个max.h头文件,然后在hello.c中写入该头文件就好了

    superc...

    并不用 写入max.h

    2016-03-18 22:21:13

    共 2 条回复 >

  • 天夕阁
    2015-06-11 14:49:02

    这个需要请教高手~

  • 天夕阁
    2015-06-11 14:47:59

    貌似高端。

Linux C语言编程基本原理与实践

本视频教程介绍C语言基本工作原理以及适用与C的实际开发方式

203963 学习 · 451 问题

查看课程

相似问题