C++ 포함 경로의 개념

Muhammad Adil 2023년10월12일
  1. C++ Visual Studio IDE에 경로 디렉터리 포함
  2. C++에 경로를 포함하는 방법
  3. 전처리기가 경로를 검색하는 방법
  4. #include ""#include <>의 차이점
C++ 포함 경로의 개념

포함 경로는 헤더 파일을 찾을 위치를 컴파일러에 알리는 데 사용됩니다. 컴파일러는 이름이 일치하는 헤더 파일을 찾을 때까지 이러한 경로로 지정된 디렉토리에서 검색합니다.

C++ Visual Studio IDE에 경로 디렉터리 포함

포함 경로는 일반적으로 명령줄에서 컴파일러에 대한 인수로 지정됩니다. 일반적으로 포함 경로 디렉터리는 다음 위치에 있습니다.

C:\Program Files\Microsoft Visual Studio 14.0\VC

이 디렉토리를 추가하려면 아래 언급된 단계를 따라야 합니다.

  • Visual Studio IDE를 엽니다.
  • 빌드 탭에서 구성 관리자를 선택합니다.
  • 컴파일러를 선택하고 열기를 클릭합니다.
  • VC++ 디렉터리를 클릭합니다.
  • 파일 포함을 클릭하고 새 경로 추가를 클릭하십시오.
  • 원하는 폴더의 경로를 입력하거나 버튼을 클릭하여 찾습니다.
  • 이 디렉토리를 선택했으면 추가를 클릭하십시오. 이 새 위치는 Include Directories 탭 아래의 디렉토리 목록에 추가됩니다.

C++에 경로를 포함하는 방법

C++에서 경로를 포함하는 방법에는 여러 가지가 있습니다. 가장 널리 사용되는 방법은 전처리기 지시문을 사용하는 것입니다.

전처리기 지시문은 실제 프로그램을 컴파일하기 전에 일부 코드를 실행하도록 컴파일러에 지시하는 키워드입니다. 상수 및 매크로를 정의하거나 프로그램에 다른 파일을 포함하는 데 사용할 수 있습니다.

C++에서 경로를 포함하는 또 다른 방법은 매크로를 사용하는 것입니다. 매크로는 식별자 또는 단일 토큰으로 나타내려는 다른 문자 시퀀스 대신 사용할 수 있는 또 다른 유형의 기능입니다.

이러한 함수는 일반적으로 긴 줄이 있고 Hello World 대신 hello world와 같이 짧은 줄로 바꾸려는 경우와 같이 간단한 텍스트 교체에 사용됩니다.

전처리기가 경로를 검색하는 방법

전처리기는 헤더 파일에 대한 C++ 포함 경로 디렉터리를 검색한 다음 컴파일 프로세스에 포함합니다. 검색 순서는 왼쪽에서 오른쪽, 위에서 아래입니다.

헤더 파일은 포함 경로 디렉터리에 나열된 디렉터리에 있는 경우 기본적으로 포함됩니다. 이러한 디렉토리에서 헤더 파일을 찾을 수 없으면 현재 디렉토리에서 검색한 다음 찾거나 검색할 상위 디렉토리가 더 이상 없을 때까지 모든 상위 디렉토리에서 검색합니다.

헤더 파일을 찾을 수 없는 경우 오류 메시지가 표시되며 지정하지 않으면 컴파일이 실패합니다.

큰따옴표를 사용하여 포함된 파일에 대한 완전하고 명확한 경로 사양을 둘러싸는 경우 전처리기는 해당 경로 사양만 검색하고 일반 디렉터리는 무시합니다.

#include ""#include <>의 차이점

#include ""는 프로그래머가 정의한 헤더 파일용입니다. 프로그래머가 자신의 헤더 파일을 만든 경우 헤더 파일의 이름을 따옴표로 묶어야 합니다.

반면 #include <>는 미리 정의된 헤더 파일을 포함하는 데 사용됩니다. 헤더 파일이 미리 정의된 경우 헤더 파일의 이름을 각괄호 안에 넣습니다.

몇 가지 예를 살펴보겠습니다.

#include <stdio.h>

#include <iostream>

#include "adil.h"

다음은 C++에서 경로 파일을 포함하는 몇 가지 예입니다.

Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook