main.c: простая программа 'driver' для вызова функции sayHello() в модуле hello. Обратите внимание, что поскольку main.c не вызывает никаких стандартных функций ввода-вывода , у него не должно быть #include stdio.hMakeFile Пример
hello.h: предоставляет прототип функции sayHello(); не забудьте включите охрану
hello.c: реализует функцию sayHello(). Это единственный файл, который имеет #include stdio.h
Вот мой Makefile: (б/н 'пакет' части)
hello: hello.o main.o
gcc main.o hello.o -o hello
main.o: main.c hello.h
gcc -c main.c -o main.o
hello.o: hello.c hello.h
gcc -c hello.c -o hello.o
test: hello
./hello
clean:
rm -f *.o hello
Мой файл hello.c является:
#include<stdio.h>
#include "main.c"
int main()
{
sayHello();
return 0;
}
Мой файл hello.h является:
void sayHello(void);
Мой файл main.c является:
#include "hello.h"
void sayHello(void)
{
puts("Hello,World!");
return;
}
Я проверил это, и он отобразил «Привет, мир!». Но когда я запустил его снова на всякий случай, были ошибки. Какие-нибудь идеи, что могло бы произойти?
Я понятия не имею, что вы просите. – MadScientist
Добро пожаловать в SO. Пожалуйста, прочитайте справку, чтобы узнать, что и как задавать вопросы, здесь. http://stackoverflow.com/help/how-to-ask –
Вы должны вызывать 'sayHello()' из 'main.c' и реализовывать эту процедуру в' hello.c'. – yegorich