我正在尝试将这三个文件链接在一起。这是一个教学的例子,我尝试了编译这三个文件的不同组合,但我不知道出了什么问题。即使有这个简单代码的东西是错误的。
我想要了解的是如何在不同的文件中分隔函数的声明,以便从主文件中的头文件中包含它。或者至少这是我想到的。我的老师设置了一个例子,以便有一个.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;
}
我希望有人可以指导我完成这项工作,我不需要另外的解决方案,请帮助我解决这3个唯一的文件,因为老师的目的就是这个。
答案 0 :(得分: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代码中。