У меня есть три файла, которые я пытаюсь связать. Это дидактический пример, я пробовал разные комбинации, компилируя три файла, но я не знаю, что не так. Даже если что-то с этим тривиальным кодом неверно.Проблемы с компиляцией файлов C
То, что я пытаюсь понять, состоит в том, как разделить в разных файлах декларацию функции, чтобы включить ее из файла заголовка в главном. Или, по крайней мере, это то, что я понял. Мой учитель установить пример для того, чтобы иметь .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 только файлы BECA использование цели учителя было именно этим.
скомпилируйте с gcc -Wall use-foo.c foo.c, чтобы получить a.out и выполнить его с ./a.out, но убедитесь, что foo.h находится в текущем каталоге, где вы вызываете gcc. –
Вам не нужен extern int foo (int); функции в C являются автоматическими внешними, просто сделайте это int foo (int); –
'gcc use-foo.c foo.c' или' gcc -c foo.c -o foo.o', тогда 'gcc use-foo.c foo.o' – BLUEPIXY