본문 바로가기

C, C++

#pragma warning

#pragma warning은 컴파일러가 경고를 출력하는 방법을 바꿔줍니다.

#pragma warning(제어문:경고 번호)

once:번호 : 경고를 한 번만 출력합니다.

default:번호 : 기본값으로 재설정합니다.

disiable:번호 : 경고를 출력하지 않습니다.

error:번호 : 경고 대신 에러를 출력합니다.

레벨:번호 : 경고의 레벨을 변경합니다.(1,2,3,4)

 

경고 번호를 여러 개 써서 #pragma warning(disable:4705 4706) 이렇게 한 번에 여러 개를 동시에 disable 할 수 있고

 

#pragma warning(disable:4705; once:4706) 이렇게 여러 명령을 한 줄에 처리할 수 있습니다.

 

그리고 경고 번호가 0~999번까지는 해당 숫자에 4000을 더한 값을 줄인 것과 같습니다.

#pragma warning(once:706)//#pragma warning(once:4706)

 

#pragma warning(push)는 모든 경고 상태를 저장하고 #pragma warning(pop)은 push에서 저장된 경고 상태를 다시 불러와 적용합니다. 즉, push, pop 사이에만 적용되는 경고 상태를 지정할 수 있습니다.

#pragma warning(push)//이 부분만 once:706이
#pragma warning(once:706)
#pragma warning(pop)//적용됩니다.

 

 

#pragma warning(push, 레벨)은 push와 동시에 전역 경고 레벨을 변경합니다. 여기서 전역 경고 레벨은 컴파일러에 표시되는 최대 경고 레벨을 뜻합니다.(3을 지정하면 1부터 3레벨의 경고만 표시됩니다.)

'C, C++' 카테고리의 다른 글

함수 포인터  (0) 2019.12.22
열거형  (0) 2019.12.21
#pragma once  (0) 2019.12.19
미리 정의된 매크로  (0) 2019.12.19
#error  (0) 2019.12.17