본문 바로가기

프로그래밍

_Pragma 전처리 연산자

_Pragma 연산자는 매크로에서 전처리 정의 기능을 사용하기 위한 용도로 사용된다

기존의 #pragma 지시어는 매크로에서 사용할 수 없다.

 

사용법

 _Pragma (문자열 리터럴)

 

예시

#define STRONGIFY(var) \

_Pragma("clang diagnostic push") \

_Pragma("clang diagnostic ignored \"-Wshadow\"") \

__strong __typeof(var) var = (Weak_##var); \

_Pragma("clang diagnostic pop")

 

#define WEAKIFY(var) \

__weak __typeof(var) Weak_##var = (var);

 

 

출처 링크 : https://jacking75.github.io/C++11_Pragma/

 

C++11 - _Pragma 전처리 연산자 - jacking75

개요 C99 에서 도입된 전처리 연산자 이다. _Pragma 연산자는 매크로에서 처리 계 정의 기능을 사용하기위한 기능이다. 처리 계 정의 기능을 사용하기 위해 기존에는 #pragma 지시자를 사용하여 왔지만 이 기능은 매크로 내에서는 사용할 수 없다. #pragma 지시자를 매크로 내에서 사용할 수 있다. 사용법 문법 _Pragma (문자열 리터럴) 처리 결과의 프리 프로세서 토큰 시퀸스는 #progrma 지시자로 지정한 경우와 같이 처리된다. 코드 1

jacking75.github.io