Latest web development tutorials

C 헤더 파일

헤더 파일은 여러 소스 파일 공유 인용 된 C 함수 선언과 매크로 정의을 포함하는 파일 확장자.H,이다.두 가지 헤더의 종류 : 헤더 파일을 작성하는 프로그래머 및 컴파일러는 헤더 파일이 함께 제공됩니다.

당신이 헤더 파일을 사용하고자하는 프로그램에서, 그것을 참조하는 C 전 처리기 지시문사용법 #include를 사용합니다.우리는 이미 컴파일러와 함께 제공되는 헤더 파일 인STDIO.H 헤더 파일을 보았다.

견적 헤더 파일 헤더 파일의 내용을 복사하는 것과 동일하지만, 그렇게하면, 프로그램은 소스 복수의 파일로 구성되어, 특히 에러 경향 때문에 우리는 직접 소스 파일의 헤더 파일의 내용을 복사하지 않을 것이다.

C 또는 C ++ 프로그램의 간단한 방법은, 언제든지 필요할 때 헤더 파일에 기록 된 모든 상수, 매크로, 전역 변수와 함수 프로토 타입 시스템은 이러한 헤더를 참조하는 것이 좋습니다.

참조 구문 헤더 파일

사용자 및 시스템 헤더 파일을 참조 할 수 있습니다#INCLUDE 전처리 지시어를 사용.그것은 다음과 같은 두 가지 형태가 있습니다 :

#include <file>

이 양식은 시스템 헤더 파일을 참조하는 데 사용됩니다. 이 시스템 디렉토리의 표준 목록에서 파일 이름의 파일을 검색합니다. 소스 코드를 컴파일 할 때, 당신은 사전 디렉토리 전에 옵션 목록을 -i 수 있습니다.

#include "file"

이 양식은 사용자 헤더 파일을 참조하는 데 사용됩니다. 그것은 현재의 파일이 들어있는 디렉토리에있는 파일 이름의 파일을 검색합니다. 소스 코드를 컴파일 할 때, 당신은 사전 디렉토리 전에 옵션 목록을 -i 수 있습니다.

참고 작업은 파일 헤더

사용법 #include 지시어는 C 프리 프로세서가 입력으로 지정된 파일을 검색 지시합니다.프리 프로세서의 출력 생성 된 출력, 생성 된 참조 텍스트 출력 파일과 출력사용법 #include 명령이 포함되어 있습니다.당신은 헤더 파일 header.h가있는 경우 예를 들어,로는 다음과 같습니다 :

char *test (void);

다음과 같이 그리고 헤더파일은주 프로그램program.c에를사용하여 :

int x;
#include "header.h"

int main (void)
{
   puts (test ());
}

컴파일러는 다음 토큰 스트림을 볼 수 있습니다 :

int x;
char *test (void);

int main (void)
{
   puts (test ());
}

하나의 헤더 파일 참조

헤더 파일 회 참조되는 경우, 컴파일러는 오류를 초래 두 헤더 파일의 내용을 처리 할 것이다. 다음이를 방지하기 위해 표준 관행은 조건부 컴파일 문에서 파일의 전체 내용을 넣는 것이다 :

#ifndef HEADER_FILE
#define HEADER_FILE

the entire header file file

#endif

이 구조는 일반적 래퍼#ifndef를 칭한다.다시 헤더 파일을 참조 할 때 HEADER_FILE 정의하기 때문에, 조건은 false입니다. 이 경우, 전처리는 파일의 전체 내용을 건너 뛰고, 컴파일러는 무시된다.

조건부 인용

때때로 당신은 몇 가지 다른 헤더 파일에서 프로그램에 대한 참조를 선택해야합니다. 예를 들어, 다른 운영 체제에서 구성 매개 변수를 지정해야합니다. 다음과 같이,이를 위해 일련의 조건을 사용할 수있다 :

#if SYSTEM_1
   # include "system_1.h"
#elif SYSTEM_2
   # include "system_2.h"
#elif SYSTEM_3
   ...
#endif

그렇게 할 수있는 헤더 파일에 더 많은 시간이 매우 부적절한 경우, 헤더를 정의하는 이름 처리기 매크로를 사용합니다. 이는조건부 기준이라고합니다.직사 파라미터#INCLUDE 헤더 파일의 이름으로 사용되지 않는 경우에만 이름을 교체하는 매크로를 사용할 필요

 #define SYSTEM_H "system_1.h"
 ...
 #include SYSTEM_H

SYSTEM_H는 원래사용법 #include로 작성으로 전처리, system_1.h을 보이는 확장합니다.SYSTEM_H 메이크는 당신을위한 -D 옵션에 의해 정의 될 수있다.