Я просматривал возможные дубликаты, однако ни один из ответов там не погружается.
tl; dr: Как файлы источника и заголовка связаны с C
? Являются ли проекты незанятыми во время сборки сортировать объявления/определения?
Я пытаюсь понять, как компилятор понимает связь между .c
и .h
файлами.
Учитывая эти файлы:
header.h
int returnSeven(void);
source.c
int returnSeven(void){
return 7;
}
main.c
#include <stdio.h>
#include <stdlib.h>
#include "header.h"
int main(void){
printf("%d", returnSeven());
return 0;
}
Будет ли этот беспорядок компилироваться? В настоящее время я выполняю свою работу в NetBeans 7.0 с gcc от Cygwin, который автоматизирует большую часть задачи сборки. Когда проект компилируется, файлы проекта должны сортировать это неявное включение source.c
на основе объявлений в header.h
?