본문 바로가기
프로그래밍 언어/C++

전처리 지시사

by 엉덩이싸움 2024. 2. 25.

전처리 지시사

전처리 지시사 기능 사용 예
#include [파일] 지정한 '파일'의 내용을 지시사 위치에 넣는다. 다른 곳에 정의된 함수를 사용할 목적으로 해당 함수의 선언문이 담긴 헤더 파일을 가져온다.
#define [키] [값] 코드에서 '키'에 해당하는 부분을 모든 '값'으로 지정한 내용으로 바꾼다.  C에서 주로 상숫값이나 매크로를 정의하는 데 사용함. C++는 상수 및 매크로 정의에 대해 좀 더 개선 메커니즘 제공.
#ifdef [키]
#endif
ifdef(if defined)는 지정한 '키'가 #define문으로 정의되어 있으면 ifdef로 묶인 코드 블록을 포함시키고, 정의되어 있지 않으면 포함시키지 않는다.  주로 인클루드 문장이 중복해서 추가되는는 것을 막는 용도로 사용함. #ifdef로 헤더 파일을 불러오면 먼저 '키'값이 정의되어 있는지 확인한 뒤, 없다면 #define 지시사로 그 '키'를 정의함. 그리고 #endif 지시자로 헤더 파일 추가 구문을 닫음. 
#ifndef[키]
#endif
ifndef(if not defined)는 지정한 '키'가 #define 문으로 정의되어 었지 않으면 ifndef로 묶인 코드 블록을 포함시키고, 정의되어 있으면 포함시키지 않는다. 
#pragma [xyz] xyz에 대한 구체적인 동작은 컴파일러마다 다름. 대부분 컴파일러는 #pragma를 지원하며, 주로 전처리 과정에서 이 지시사를 도달할 때 경고나 에러 메세지를 화면에 표시하는 용도로 사용함 +) #pragma once 지시사 사용
ex. 
#pragma once
// 헤더 파일의 내용

 

중복 인클루드를 막는 예제

 

#ifndef MYHEADER_H

#define MYHEADER_H

// 헤더 파일 내용

#endif

'프로그래밍 언어 > C++' 카테고리의 다른 글

문자열 클래스  (2) 2024.03.12
객체지향프로그래밍  (0) 2024.03.06
C++기본기(2)  (4) 2024.02.29
rand, srand, time을 이용한 난수 생성  (0) 2024.02.15
C++ 기본기(1)  (1) 2024.02.13