본문 바로가기
Study/C++

#pragma warning 사용법 관련

by 뿡뿡대마왕 2021. 1. 6.
반응형

원래 warning이 발생하는 코드는 모두 수정하여 발생하지 않도록 하고 있으나


간혹 외부에서 가져다 쓴 모듈이나 cpp파일등에서 warning이 발생하는 경우가 있다.


수정을 해되 되겠지만 괜시리 손대기 찝찝할때...이미 검증된 기능이므로 손댈 필요가 없는 경우들이 있는데


이럴때는 특정  cpp파일에만 특정 warning에 대한 disable 기능을 선언하여


컴파일이 warning이 발생하지 않도록 할 수 있다.


해당 내용이 잘 정리된 사이트가 있어 퍼왔다.


1. 경고 번호 줄여쓰기

#pragma warning( disable : 4702 ) 
→ #pragma warning( disable : 702 )

컴파일러가 알아서 4000을 더해줍니다.


2. 같은 warning 지시어에 대해 줄여쓰기

#pragma warning( disable : 4507 ) 
#pragma warning( disable : 34 )

→ #pragma warning( disable : 4507 34 )


3. 다른 warning 지시어를 한 줄로 줄여쓰기

#pragma warning( disable : 4507 34 ) 
#pragma warning( once : 4385 )
#pragma warning( error : 164 )

→ #pragma warning( disable : 4507 34; once : 4385; error : 164 )


4. 현재의 warning 상태 저장, 복원

#pragma warning( push ) // 현재의 warning 상태 저장 
#pragma warning( disable : 4705 )
#pragma warning( disable : 4706 )
#pragma warning( disable : 4707 )
// Some code
#pragma warning( pop ) // 이전의 warning 상태 복원


5. 내 코드를 특정 warning 레벨로 컴파일되게 하기

#pragma warning( push, 3 ) 
// Declaratios/ definitions
#pragma warning( pop )

어떤 사용자가 내 코드를 warning 레벨 4로 컴파일 하는 경우 특정 warning을 만들어낸다면, 내 코드는 레벨 3으로 컴파일 되도록 유도해준다.

정보는 공유되어야 한다 쭈욱~



반응형

댓글