_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