언어/기타
2006.08.20 20:46

#pragma warning

조회 수 993 추천 수 3 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

pragma 디렉티브(지시자)는 컴파일러 제조회사에서 컴파일러의 기능을 확장시킬수 있도록 하는 지시자 입니다. 표준 컴파일러에 자신들의 컴파일러 제작 기술이 허락하는 대로 최대한의 기능을 제공할 수 있도록 여지를 남겨놓은 것인데, 만약 다른 컴파일러에서 해석할수 없는 pragma 디렉티브를 만나면 그냥 무시함으로서 소스간 호환성 문제도 해결하고 있습니다.


 


위의 것은 Ms Visual C++에서 확장된 기능으로 보입니다.


 


#pragma warning 경고 메시지와 관련된 지시자로서


 


#pragma warning(disable : 4786)<BR>#pragma warning(disable : 4100)


 


이렇게 소스 파일에 적어놓으면 이 지시자가 나타난 순간부터 각각 4786, 4100번의 경고 메시지를 출력하지 못하게 합니다. MS 컴파일러에서 각각의 경고 메시지는 자신의 고유번호를 갖고 있습니다. 예를 들어 다음 소스를 경고레벨 4에서 컴파일한다면,


 


void f(int a)<BR>{<BR>}


int main()<BR>{<BR> return 0;<BR>}


 


다음과 같은 메시지를 출력합니다.


e:Temp ProjectsTest2Test2.cpp(6) : warning C4100: 'a' : 참조되지 않은 형식 매개 변수입니다.


 


이때 C4100이 바로 경고메시지의 고유번호입니다.


C는 컴파일러에서 발생했다는 뜻이며, 4100이 경고 메시지 번호입니다.


 


이런 경고 메시지가 많이 발생되는 경우, 컴파일 속도가 심각하게 느려질수 있습니다.


또, 깨끗한 프로그램을 위해 경고레벨4에서 경고메시지 없이 컴파일 되기를 원하는 개발사도 있습니다.  이럴때, 다음처럼 해당 경고를 삭제해 주는 것입니다.


 


#pragma warning(disable: 4100)


 


void f(int a)<BR>{<BR>}


int main()<BR>{<BR> return 0;<BR>}


 


위의 소스는 실제로는 경고메시지를 끄는 것 보다는 경고메시지의 근본적인 오류를 제거해야 할 것입니다. 무슨말이냐하면, 실제로 f라는 함수에서 a라는 매개변수를 사용하지 않기 때문에, 매개 변수를 없애던가, 함수내부에서 매개변수를 사용하게끔 하던가, 혹은 나중에 사용하기 위해 설계상 써놓은 것이라면, 다음처럼 소스를 수정합니다.


 


void f(int /* a 차후에 사용될 것임을 명시하는 주석문*/)<BR>{<BR>}


 


또는


 


void f(int a)<BR>{


 a; // 차후에 사용될 것임을 명시하는 주석문.<BR>}


 


하지만, 위 4786번 메시지의 경우 STL과 관련된 VC++6.0의 버그로서, 이 경우에는 어쩔수 없이 삭제해 주어야 합니다.<BR>


 


 


ps. 아 그리고 친구놈이랑 개인홈페이지 하나 열었습니다 ㅜㅜ


많이들 놀러와주세요.


 


http://gamecook.ce.ro/

?

  1. " 비트맵 이미지/색수 가 부정합니다 " [Solution Matter]

    Date2007.03.01 Category언어/기타 By연지 Views796
    Read More
  2. [Orchestral Instrumentation] 4. 비올라

    Date2006.05.03 Category언어/기타 ByPianoForte Views383
    Read More
  3. [변수를 이용한 액알 랜덤 아이템 분배를 해보자]

    Date2005.09.14 Category언어/기타 By부느조로 Views740
    Read More
  4. 게임성을 좀 더 높여볼까?

    Date2006.07.22 Category언어/기타 By다크세이버™ Views706
    Read More
  5. 맵ID 사용법 하나 발견;;

    Date2006.04.18 CategoryRPG Maker By다크아머 Views296
    Read More
  6. 삭제

    Date2007.06.02 Category언어/기타 By게이지의달인 Views525
    Read More
  7. "빵과 유통기한"

    Date2006.10.21 Category언어/기타 ByEverSmileMan Views1890
    Read More
  8. #pragma warning

    Date2006.08.20 Category언어/기타 By피군 Views993
    Read More
  9. <기본강좌> 쉐로의 RPG2000 강좌 1편: 필드에서 책 읽기

    Date2007.02.10 CategoryRPG Maker By쉐로, Views742
    Read More
  10. <응용강좌> 스킬단축키

    Date2006.05.20 Category언어/기타 By린쌍 Views700
    Read More
  11. <응용강좌> 아이탬토글 -노가다-

    Date2006.05.20 Category언어/기타 By린쌍 Views609
    Read More
  12. <응용강좌> 키패드

    Date2006.07.25 Category언어/기타 By린쌍 Views350
    Read More
  13. <응용장좌>액션알피쥐.몬스터이벤트

    Date2006.05.22 Category언어/기타 By린쌍 Views901
    Read More
  14. '마나'에 관한 고찰...

    Date2005.05.28 CategoryRPG Maker By강연 Views952
    Read More
  15. '에피소드'형식이 아닌 '화' 형식의 시나리오는 어떨까요?

    Date2007.04.09 Category언어/기타 By우드록맨 Views1530
    Read More
  16. '켄타'의 Vnap 왕초보강좌 [0.Vnap이란?]

    Date2006.07.25 Category언어/기타 By켄타 Views639
    Read More
  17. '켄타'의 Vnap 왕초보강좌 [1. Vnap의 기본상식!]

    Date2006.08.14 Category언어/기타 By켄타 Views932
    Read More
  18. (2003) 연속공격 버프 스킬로 '공격' 커맨드의 활용도를 늘려보자.

    Date2007.11.17 Category언어/기타 By땡중 Views1924
    Read More
  19. * 기타 - '대기'의 종류

    Date2007.02.24 CategoryRPG Maker By천영진 Views1527
    Read More
  20. ***특명*** rpg2k로 srpg를 만들어라!(1)

    Date2006.05.09 CategoryRPG Maker By길모나 Views347
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 51 Next
/ 51






[개인정보취급방침] | [이용약관] | [제휴문의] | [후원창구] | [인디사이드연혁]

Copyright © 1999 - 2016 INdiSide.com/(주)씨엘쓰리디 All Rights Reserved.
인디사이드 운영자 : 천무(이지선) | kernys(김원배) | 사신지(김병국)