gpt4 book ai didi

c - 如何使用 C 中的 .h 文件从外部 .c 文件调用函数?

转载 作者:行者123 更新时间:2023-11-30 19:57:30 26 4
gpt4 key购买 nike

我在调用外部 .c 文件中定义的外部函数时遇到一些问题。

我的主文件(main.c)是:

#include <stdio.h>
#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;
}

我使用名为 header.h.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文件可以正确链接它们,但我不知道该怎么做。

如果有人能帮助我,我将非常感激!

提前致谢!

最佳答案

您还需要在 maximo.c 文件中#include "header.h"。不要忘记在头文件中也包含防护:

#ifndef MAXIMO_H
#define MAXIMO_H

int maximo(int num1, int num2);

#endif

附注建议您将“header.h”更改为“maximo.h”。

您的命令行应为:

gcc main.c maximo.c -o "filename"

关于c - 如何使用 C 中的 .h 文件从外部 .c 文件调用函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44462366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com