모든 warning을 없애는 것 보다는 어떤 warning을 무시해도 좋은지 아는 것이 나을 것입니다. 컴파일러가 warning을 주는 것은 실수일 _가능성_을 알려주는 것이지 100% 옳거나 그르다는 것을 보여주는 것이 아닙니다. 즉, 나머지는 프로그래머가 판단해야 하는 것이죠. 만일 해당 warning이 보기 싫다고 그 부류 warning을 아예 없애면 더큰 문제가 발생할 가능성이 있죠. 혹시 #ignore_warnning_begin #ignore_warnning_end 비슷한 것이 있으면 그걸 쓰면 되겠지만, 아니라면 그냥 적절히 무시해야 할겁니다. (C계열 안쓴지 오래되서 그런것 있는지는 전혀 기억 못함)
기냥 abort 하시죠.
저도 abort 와 assert 의 명확한 관계를 몰라 assert(0) 를 쓰는 경우가 많은데
아직 warning 을 만난 기억이 없네요.
C 책에
C 책에 보니.
assert(expr) 매크로가 다음과 같이 기술될 수 있다고 해서
매크로를 정의 해보니 VC2005에서 warning이 뜨는데 (warnign level 4),
"조건식이 상수입니다" 라는 warning 을 없애고 싶습니다.
지금 정의해서
지금 정의해서 사용하고 있는 assert 매크로에서 while(1); 을 사용해서 그런 듯합니다.
#pragma warning(disable: 4127) 을 사용해서 warning을 없애긴 했는데..
또 다른 방법이 있지 않을까 싶네요.
아니면.. do { } while (0)
아니면.. do { } while (0) 같은 곳에서 나오는 warning은 어떻게 제거 해야 하나요?
모든 warning을 없애는
모든 warning을 없애는 것 보다는 어떤 warning을 무시해도 좋은지 아는 것이 나을 것입니다. 컴파일러가 warning을 주는 것은 실수일 _가능성_을 알려주는 것이지 100% 옳거나 그르다는 것을 보여주는 것이 아닙니다. 즉, 나머지는 프로그래머가 판단해야 하는 것이죠. 만일 해당 warning이 보기 싫다고 그 부류 warning을 아예 없애면 더큰 문제가 발생할 가능성이 있죠. 혹시 #ignore_warnning_begin #ignore_warnning_end 비슷한 것이 있으면 그걸 쓰면 되겠지만, 아니라면 그냥 적절히 무시해야 할겁니다. (C계열 안쓴지 오래되서 그런것 있는지는 전혀 기억 못함)
정 워닝이 보기싫으시다면
int flag = 0;
while(flag)
요런것두 있슴니다
큰 의미가 있어뵈진않지만;
그래두 익명님말씀대로 워닝을 끄는것은 안좋은 생각인듯 싶구요;
워닝을 끄는쪽 보다는 뭐 좀 나을듯 생각이되는군요
댓글 달기