반응형
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
경매하는 개발자
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
전체 방문자
오늘
어제
  • 분류 전체보기 (329)
    • IT (128)
      • 아두이노 (6)
      • C C++ (17)
      • C C++ 컴파일 에러 (3)
      • LINUX (3)
      • Git (1)
      • OpenGL (0)
      • IT 상식 (38)
      • EXCEL & VBA (9)
      • 정보처리기사 (20)
      • 무작정 웹사이트 만들기 (6)
      • 포토샵 (3)
      • 파이썬 & vscode (16)
      • 머신러닝 & 인공지능 & 데이터사이언스 (5)
    • 부동산 (91)
      • 부동산일반 (31)
      • 세금 (6)
      • 경매 (46)
      • 법, 소송 (8)
    • 개인사업자 (43)
      • 할 일 (11)
      • 꿀팁 (9)
      • 세금 (14)
      • 지원사업 (8)
    • 독후감 (25)
      • 독후감 (25)
    • 경제 (4)
      • 거시경제 (4)
    • Tistory (34)
      • 티스토리 (23)
      • 애드센스 (11)
    • 기타 (4)
      • 에세이 (2)
      • 퇴사준비 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 부가가치세
  • 온비드공동인증서
  • 세금계산서
  • 개인사업자
  • 전자세금계산서
  • 티스토리애드센스
  • 부의추월차선줄거리
  • 부의추월차선요약
  • 부의추월차선독후감
  • 온비드공매
  • 애드센스
  • 부의추월차선
  • 부의추월차선리뷰
  • 전입신고
  • 부의추월차선서평
  • 온비드공인인증서
  • 경매
  • 일반과세자
  • 공매
  • 확정일자

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널

경매하는 개발자

[C/C++] #include에서 " " 와 < > 의 차이점 및 헤더 파일 경로변경 방법
IT/C C++

[C/C++] #include에서 " " 와 < > 의 차이점 및 헤더 파일 경로변경 방법

2021. 3. 8. 12:41
반응형

[C/C++] #include에서 " " 와 < > 의 차이점 및 헤더 파일 경로변경 방법

반응형

 


 

1. (시스템 헤더) #include < > 

 

 

- '< >'는 Visual Studio 및 Windows에서 기본제공하는 시스템 헤더를 include하는데 사용한다. 

 

- Windows 시스템 헤더의 매크로는 $(windowsSDK_IncludePath) 이다.

  (경로 : C:\\Program Files (x86)\\Windows Kits\\10\\Include)

  * 참고로 stdio.h 헤더파일은 해당 경로에 저장되어 있다.

    (C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\ucrt)

 

- Visual Studio 시스템 헤더의 매크로는 $(VC_IncludePath)이다.

  (경로 : C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\VC)

 

- '구성 속성 - VC++ 디렉터리 - 포함 디렉터리'에 디폴트로 시스템 헤더 경로가 저장되어있다.

 

 


 

※ 디렉터리에 저장된 시스템 경로를 실수로 지웠다면? (<stdio.h> 헤더 인식 불가)

 

아래와 같이 포함 디렉터리(또는 다른 디폴트 디렉터리들) 경로를 실수로 지워버렸다면 <stdio.h>가 인식이 안될 것이다.

 

실수로 시스템 헤더 경로 삭제

 

<stdio.h> 시스템 헤더 인식 불가

 

반응형

 

이런 경우 '포함 디렉터리 우측에 V 체크박스 클릭 - <부모 또는 프로젝트 기본값에서 상속> 버튼 클릭 - 적용'을 누르면 디폴트 설정값으로 이동한다.

 

 

 

다시 <stdio.h> 헤더를 올바르게 인식한다.

 


 

2. (유저 헤더) #include " " 

 

 

- " "는 유저가 만든 헤더를 include하는데 사용한다.

 

- " "가 기본적으로 가리키는 위치는 유저가 생성한 프로젝터 폴더이다.

 

- 불러오는 위치의 매크로는 $(ProjectDir)이다.

반응형

 

 예) 아래와 같이 A 프로젝트를 생성 후 A\\test.h를, A\\header\\test2.h 헤더파일을 각각 생성했다.

 

 

 

 

아래와 같이 #inlcude " "가 기본적으로 가리키는 위치는 새로 생성한 A 프로젝트 폴더이다.

하지만 A\\header 폴더 하위에 생성된 test2.h 파일은 인식을 못하고 있다. 이럴 경우, 헤더파일의 폴더를 추가해줘야 한다.

 


※ " "가 가리키는 헤더파일 경로를 추가하는 방법

 

1) '프로젝트-속성' 또는 'Alt+F7' 입력

2) '구성 속성 - VC++ 디렉터리 - 포함 디렉터리'에서 ; 후 경로 입력 - 적용 - 확인

  예) '$(IncludePath);$(ProjectDir)/header' 입력(매크로입력) 또는

      '$(IncludePath);C:\\Users\\PC\\source\\repos\\A\\header' 입력(절대경로입력)

  * 기존에 저장되어있는 경로 수정 또는 삭제 금지. 헤더파일을 못읽을 수 있음.

  * 경로는 \\(달러)도 입력가능하고, /(슬래시)도 입력 가능하다.

  

 

 

헤더 경로를 추가 후 test2.h 헤더파일도 정상적으로 인식한다.

 

 

반응형

 

* 참고로, ""(유저헤더)가 <>(시스템헤더)보다 인식 범위가 넓다.

 

 즉, ""안에 들어가는 헤더파일을 <>(시스템헤더)의 경로에서 먼저 검색하고 없으면 유저헤더 경로에서 검색한다.

 (그래도 없으면 에러를 띄운다.)

 이 같은 원리로 시스템 헤더인 stdio.h를 include할 때 #include <stdio.h>가 아닌,

 #include "stdio.h"로 입력하여도 에러가 나지 않는다.

 

시스템헤더는 ""로도 사용이 가능함.

 

* 단 시스템헤더와 유저헤더 구분을 식별하기 위하여 <>와 ""를 구별하여 쓰는 것을 권장한다.


반응형

 

추가) 매크로가 지시하는 경로가 어디인지 알고 싶을 경우, 

 

  1) 디렉터리 우측에 'V 체크박스' 클릭 - '편집' 클릭

  2) 우측 하단에 '매크로' 클릭

  3) 검색

 

반응형

'IT > C C++' 카테고리의 다른 글

[C/C++] 정수, 실수 나머지 구하기  (0) 2022.05.20
[C언어] 제곱 내장 함수 사용 방법 (pow 함수)  (0) 2022.05.16
[C/C++] 프로그램 종료 후 콘솔창 유지시키기  (0) 2022.03.17
[C/C++] 키보드 매크로 프로그램 만들기  (0) 2022.01.08
[C/C++] #pragma once 의미  (0) 2021.03.18

    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널

    'IT/C C++' 카테고리의 다른 글
    • [C언어] 제곱 내장 함수 사용 방법 (pow 함수)
    • [C/C++] 프로그램 종료 후 콘솔창 유지시키기
    • [C/C++] 키보드 매크로 프로그램 만들기
    • [C/C++] #pragma once 의미
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널
    크몽 '경매하는 개발자' 님의 경매/부동산/IT/사업 채널입니다.

    티스토리툴바