서로 다른 소스 파일 사이에서 필요한 정보를 공유할 수 있도록 하기 위해서 바로 헤더 파일 을 사용한다.
C컴파일러는 C 소스 파일을 컴파일 하는데 , 확자자가 .c인 파일만 컴파일 한다.
확장 자가 .h인 헤더 파일은 C 컴파일러에 의해서 직접적으로 컴파일 되지 않는다.
헤더 파일은 전처리기 문장인 #include에 의해서 소스 파일 안에 포함된다, 즉 #include문은 특정 파일의 내용을 #include문이 사용된 위치로 복사해 넣어주는 기능을 제공한다.
A.h
전처리기가 먼저 헤더 파일의 내용을 소스 파일로 복사해온 다음에 소스 파일을 C컴파일러가 컴파일 하므로 , 헤더 파일의 내용이 포함된 상태로 소스 파일이 컴파일 되는 것이다.
C컴파일러는 C 소스 파일을 컴파일 하는데 , 확자자가 .c인 파일만 컴파일 한다.
확장 자가 .h인 헤더 파일은 C 컴파일러에 의해서 직접적으로 컴파일 되지 않는다.
헤더 파일은 전처리기 문장인 #include에 의해서 소스 파일 안에 포함된다, 즉 #include문은 특정 파일의 내용을 #include문이 사용된 위치로 복사해 넣어주는 기능을 제공한다.
A.h
void f1(...); void f2(...); |
|
| ---------------------------------헤더 파일을 포함(복사) 합니다.
|
| ---------------------------------헤더 파일을 포함(복사) 합니다.
|
B.c
#include "A.h" int main(void) { f1(); f2(); return 0; } |
전처리기가 먼저 헤더 파일의 내용을 소스 파일로 복사해온 다음에 소스 파일을 C컴파일러가 컴파일 하므로 , 헤더 파일의 내용이 포함된 상태로 소스 파일이 컴파일 되는 것이다.