# include 지시문 (C/C++)

#include 알려 해당 내용을 지시문의 표시 되는 위치를 원본 프로그램에서 나타났던 것 처럼 지정 된 파일의 내용을 처리 하는 전처리기 지시문입니다.

#include  "path-spec"
#include  <path-spec>

설명

상수 및 매크로 정의에 포함 파일을 구성 하 고 사용할 수 있습니다 #include 지시문이이 정의 된 소스 파일에 추가 합니다.포함 파일 선언 외부 변수 및 복잡 한 데이터 형식을 통합 하는 데 도움이 됩니다 또한.정의 하 고 한 번만 해당 용도로 만든 포함 파일의 형식 이름을 지정 해야 합니다.

경로 사양 파일 이름을 디렉터리 사양에 선택적으로 나옵니다.파일 이름을 기존 파일을 이름을 지정 해야 합니다.구문에는 경로 사양 프로그램 컴파일할 운영 체제에 따라 달라 집니다.

컴파일하고 C++ 응용 프로그램에서 어셈블리를 참조 하는 방법에 대 한 내용은 /clr를 참조 하십시오 #을 사용 하 여.

두 구문 양식 지시문의 교체로 지정 된 포함 파일의 전체 내용이 될.차이 두 가지 경로 불완전 하 게 지정한 경우 전처리기 헤더 파일에 대 한를 검색 하는 순서입니다.다음 표에 두 가지 구문 형식 간의 차이점을 보여 줍니다.

구문 형식

동작

따옴표 붙은 양식

다음 순서 대로 포함 파일에 전처리기를 검색합니다.

  1. 포함 된 파일은 동일한 디렉터리에 있는 #include 문입니다.

  2. 이미 열려있는 모든 디렉터리의 파일은 열린 반대 순서로 포함 됩니다.마지막으로 연 하 고 처음 연 포함 파일의 디렉터리를 통해 계속 해 서 포함 파일의 디렉터리에서 검색을 시작 합니다.

  3. 각 /I 컴파일러 옵션으로 지정 된 경로 따라 합니다.

  4. INCLUDE 환경 변수에서 지정한 경로 따라 합니다.

꺾쇠 괄호 양식

다음 순서 대로 포함 파일에 전처리기를 검색합니다.

  1. 각 /I 컴파일러 옵션으로 지정 된 경로 따라 합니다.

  2. INCLUDE 환경 변수에서 지정 된 경로 따라 명령줄에서 컴파일할 때.

전처리기 지정한 이름을 가진 파일을 발견 하는 즉시 검색을 중단 합니다.큰따옴표로 파일 포함에 대 한 자세 하 고 명확한 경로 지정을 지정 하는 경우 (""), 전처리기 해당 경로 지정만을 검색 하 고 표준 디렉터리를 무시 합니다.

파일 이름을 큰따옴표로 묶인 불완전 한 경로가 지정 되 면 첫 번째 전처리기 "부모" 파일의 디렉터리를 검색 합니다.파일의 부모 파일인 포함 하는 #include 지시문입니다.예를 들어, 명명 된 파일을 포함 하는 경우 file2 라는 파일에서 file1, file1 부모 파일입니다.

포함 파일 "중첩" 될 수 있습니다. 즉,는 #include 지시문에서 다른 파일에 나타날 수 있습니다 #include 지시문입니다.예를 들어, file2, 위의 포함 될 수 있습니다 file3.이 경우 file1 의 부모는 여전히 수 file2 의 "그"는 file3.

때 포함 파일은 중첩 되 고 명령줄에서 컴파일하는 경우 디렉터리 검색 상위 파일의 디렉터리를 시작 하 고 다음 조부모가 파일의 디렉터리를 통해 진행 됩니다.따라서 검색이 현재 처리 중인 소스를 포함 하는 디렉터리를 기준으로 시작 됩니다.파일을 찾을 수 없는 경우 검색 /I 컴파일러 옵션으로 지정 된 디렉터리로 이동 합니다.마지막으로, INCLUDE 환경 변수에 지정 된 디렉터리가 검색 됩니다.

개발 환경 내에서 INCLUDE 환경 변수는 무시 됩니다.(이 정보 또한 적용은 LIB 환경 변수에. 하) 포함 파일을 검색할 디렉터리를 설정 하려면을 참조 하십시오. 옵션 대화 상자, 프로젝트, VC + + 디렉터리.

다음 예제에서는 꺾쇠 괄호를 사용 하 여 파일 포함을 보여 줍니다.

#include <stdio.h>

STDIO 라는 파일의 내용을 검색 하는 예제입니다.원본 프로그램에 H입니다.꺾쇠 괄호 STDIO에 INCLUDE 환경 변수에서 지정한 디렉터리를 검색할 전처리기를 일으킬.H 후 /I 컴파일러 옵션에 지정 된 경로 검색 합니다.

다음은 따옴표 붙은 양식을 사용 하 여 파일 포함을 보여 줍니다.

#include "defs.h"

DEFS로 지정 된 파일의 내용을 검색 하는 예제입니다.원본 프로그램에 H입니다.큰따옴표 전처리기 먼저 상위 소스 파일이 포함 된 디렉터리를 검색을 의미 합니다.

중첩 포함 파일은 최대 10 개까지 수준을 계속할 수 있습니다.한 번 중첩 #include 는 계속 처리, 전처리기 바깥쪽 포함 파일은 원래의 소스 파일에 삽입 됩니다.

Microsoft 전용

Includable 소스 파일을 찾으려면 전처리기는 우선 검색 디렉터리 /I 컴파일러 옵션에 지정 합니다./I 옵션은 존재 하지 않거나 실패 하면 전처리기 꺾쇠 괄호 내의 모든 포함 파일을 찾기 위해 INCLUDE 환경 변수를 사용 합니다.INCLUDE 환경 변수와 /I 컴파일러 옵션에는 여러 경로 세미콜론으로 구분 된 포함 될 수 있습니다 (;).전처리기가 INCLUDE 환경 변수 내에서 또는 /I 옵션의 일부로 하나 이상의 디렉터리 나타나지 않으면 나타나는 순서 대로 검색 합니다.

예를 들어, 명령

CL /ID:\MSVC\INCLUDE MYPROG.C

전처리기 STDIO 같은 포함 파일을 D:\MSVC\INCLUDE 디렉터리를 검색 합니다.H.명령

SET INCLUDE=D:\MSVC\INCLUDE
CL MYPROG.C

동일한 효과 가집니다.두 집합의 검색을 하지 않으면 심각한 컴파일러 오류가 생성 됩니다.

파일 이름 포함 파일 (예를 들어, F:\MSVC\SPECIAL\INCL\TEST. 콜론 포함 된 경로에 대 한 완전 하 게 지정 하는 경우H) 전처리기의 경로 다음과 같습니다.

지정 된 포함 파일 #include**"경로 사양"**, 디렉터리 검색 상위 파일의 디렉터리를 시작 하 고 다음 조부모가 파일의 디렉터리를 통해 진행 됩니다. 따라서 포함 된 소스 파일을 포함 하는 디렉터리를 기준으로 검색을 시작을 #include 처리 하는 지시문입니다.파일 이름은 꺾쇠 괄호로 묶여 처럼 조부모가 파일이 파일 찾을 수 없습니다 경우 검색이 계속 됩니다.

Microsoft 특정 끝

참고 항목

참조

전처리기 지시문