作者:萍水相逢--莹 | 来源:互联网 | 2023-02-01 17:02
我在调用外部.c
文件中定义的外部函数时遇到了一些麻烦.
我的主文件(main.c
)是:
#include
#include "header.h"
int main () {
int a = 100;
int b = 200;
int ret;
ret = maximo(a, b);
printf( "Max value is : %d\n", ret );
return 0;
}
我使用一个.h
名为header.h
声明函数的文件maximo()
.该header.h
文件是:
int maximo(int num1, int num2);
在另一个.c
文件中,我有功能的定义maximo()
.该maximo.c
文件是:
int maximo(int num1, int num2) {
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
我上面提到的代码是我的文件的完整代码.该header.h
文件只有一行.而且我没有#include
在maximo.c
文件中添加任何内容.
如果它缺少任何东西,我不会知道,因为,正如你所看到的,我是编程的初学者.
我遇到的错误是:
undefined reference to 'maximo'
error: 1d returned 1 exit status
我尝试将maximo.c
代码放在header.h
文件中,它工作正常,但这不是我需要的.
在我的搜索过程中,我阅读了一些关于将两个.c
代码编译在一起的内容,以便将它们转换为.o
文件然后.h
文件可以正确链接它们,但我不知道该怎么做.
所以,如果有人能帮助我,我将非常感激!
提前致谢!
1> 小智..:
您还需要#include "header.h"
在您的maximo.c
文件中.不要忘记头文件中包含防护:
#ifndef MAXIMO_H
#define MAXIMO_H
int maximo(int num1, int num2);
#endif
PS会建议您将"header.h"更改为"maximo.h".
您的命令行应为:
gcc main.c maximo.c -o "filename"