Programing

C ++에 헤더 파일을 포함하는 동안 꺾쇠 괄호 <>와 큰 따옴표 ""의 차이점은 무엇입니까?

lottogame 2020. 4. 17. 08:11
반응형

C ++에 헤더 파일을 포함하는 동안 꺾쇠 괄호 <>와 큰 따옴표 ""의 차이점은 무엇입니까? [복제]


중복 가능성 :
#include <filename>과 #include“filename”의 차이점은 무엇입니까?

C ++에 헤더 파일을 포함하는 동안 꺾쇠 괄호 < >와 큰 따옴표 의 차이점은 무엇입니까 " "?

나는 어떤 파일이 eg :를 사용하여 포함되어야 #include <QPushButton>하고 어떤 파일이 eg를 사용하여 포함되어야하는지 의미합니다. #include "MyFile.h"???


컴파일러에 따라 다릅니다. 즉, 일반적으로 사용 "하면 시스템 헤더보다 현재 작업 디렉토리의 헤더가 우선합니다. <>일반적으로 시스템 헤더에 사용됩니다. 사양에서 (6.10.2 단원) :

양식의 전처리 지시문

  # include <h-char-sequence> new-line

<>구분 기호 사이의 지정된 순서로 고유하게 식별 된 헤더에 대해 일련의 구현 정의 된 장소를 검색하고 헤더 의 전체 내용으로 해당 지시문을 대체합니다. 장소가 지정되거나 헤더가 식별되는 방식은 구현에서 정의됩니다.

양식의 전처리 지시문

  # include "q-char-sequence" new-line

"구분 기호 사이의 지정된 순서로 식별 된 소스 파일의 전체 내용으로 해당 지시문을 대체합니다 . 명명 된 소스 파일은 구현 정의 방식으로 검색됩니다. 이 검색이 지원되지 않거나 검색이 실패하면 지시문은 읽은 것처럼 재 처리됩니다.

  # include <h-char-sequence> new-line

>원래 지시문에서 동일한 포함 시퀀스 (있는 경우 문자 포함 )

따라서 대부분의 컴파일러에서 ""첫 번째를 사용하면 로컬 디렉토리를 확인하고 일치하는 디렉토리를 찾지 못하면 시스템 경로를 확인합니다. 를 사용하면 <>시스템 헤더로 검색을 시작합니다.


꺾쇠 괄호를 사용하면 컴파일러는 포함 경로 목록에서 파일을 검색합니다. 큰 따옴표를 사용하면 먼저 현재 디렉토리 (예 : 컴파일중인 모듈이있는 디렉토리)를 검색 한 다음 포함 경로 목록 만 검색합니다.

따라서 관례 적으로 표준 포함에는 꺾쇠 괄호를 사용하고 다른 모든 것에는 큰 따옴표를 사용합니다. 이렇게하면 표준 헤더와 이름이 같은 로컬 헤더가있는 (권장되지 않음) 경우 각 경우에 맞는 헤더가 선택됩니다.

참고 URL : https://stackoverflow.com/questions/3162030/difference-between-angle-bracket-and-double-quotes-while-include-heade

반응형