[英]Problems in compiling C files
我有这三个文件,我试图将它们链接在一起。 这是一个教学示例,我尝试了不同的组合来编译这三个文件,但我不知道出了什么问题。 即使这个微不足道的代码是错误的。
我想了解的是如何在不同的文件中分离一个函数的声明,以便将它从主文件的头文件中包含进来。 或者至少这是我想出来的。 我的老师以一个 .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 个唯一的文件,因为老师的目的是这个。
您可以使用以下命令编译它:
gcc -o use-foo use-foo.c foo.c
然后你就可以使用以下命令运行它:
./use-foo
只要确保你的所有文件都在同一个目录中,你从那个目录调用 gcc 并且 gcc 安装在你的系统上。
关于包含文件和交叉编译的更多建议:所有头文件(如 foo.h)都应该包含保护,就像那样
#ifndef __FOO__
#define __FOO__
int foo (int);
#endif
这将阻止编译器在您的代码中多次添加您的头文件。
另一个建议是在你的 foo.c 代码中也包含 foo.h。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.