gpt4 book ai didi

c - 编译C文件的问题

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

我有这三个文件,我正在尝试将它们链接在一起。这是一个教学示例,我尝试了不同的组合来编译这三个文件,但我不知道出了什么问题。即使这个简单的代码有问题。

我想要了解的是如何在不同的文件中分离函数的声明,以便将其从头文件中包含在主文件中。或者至少这是我的想法。我的老师设置了一个示例,以便有一个 .h 文件和两个 .c 文件:它们是...

foo.c

int foo(int x){
return x==42 ? 1 : 0;
}

foo.h

extern int foo(int);

使用-foo.c

#include <stdio.h>
#include "foo.h"
int main(){
printf("foo(42) == %d \n", foo(42));
getchar();
return 0;
}

我希望有人可以指导我完成这个任务,我不需要不同的解决方案,请帮助我处理这三个文件,因为老师的目的就是这个。

最佳答案

您可以使用以下命令编译它:

gcc -o use-foo use-foo.c foo.c

然后您就可以使用以下命令运行它:

./use-foo

只需确保所有文件都位于同一目录中,您从该目录调用 gcc 并且 gcc 已安装在您的系统上。

关于包含文件和交叉编译的更多建议:所有头文件(如 foo.h)都应该包含防护,就像这样

#ifndef __FOO__
#define __FOO__

int foo (int);

#endif

这将阻止编译器在代码中多次添加头文件。

另一个建议是将 foo.h 也包含在您的 foo.c 代码中。

关于c - 编译C文件的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41782369/

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