[[사외교육]]/[SDS]신입사원_역량강화

헤더 파일 / 분할 컴파일 / #include

갑빠돌격기 2011. 3. 10. 15:07
서로 다른 소스 파일 사이에서 필요한 정보를 공유할 수 있도록 하기 위해서 바로 헤더 파일 을 사용한다.

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컴파일러가 컴파일 하므로 , 헤더 파일의 내용이 포함된 상태로 소스 파일이 컴파일 되는 것이다.