수안이의 컴퓨터 연구실

  • Mainpage
  • About Me
  • Tags
  • Metapage
  • Notice
  • Location
  • Keywords
  • Guestbook
  • Admin
  • Write an Article
  • Total | 1693857
  • Today | 208
  • Yesterday | 588

Programming/MFC2007/02/21 15:21

사용하지 않는 인자에 대한 warning 없애기

원본 : http://www.debuglab.com/knowledge/nowarning.html

1.요약

VS 에서 새로 만든 프로젝트의 디폴트 warning 레벨은 3 입니다.
하지만 많은 서적에서 warning 레벨을 4로 맞추어 놓기를 권장하고 있습니다. 컴파일러로부터 보다 많은 조언을 구할 수 있기 때문입니다.

이 경우에 사용하지 않은 인자에 대해서도 warning을 발생시키는데 MFC에는 이런 warning에 대비한 매크로가 있습니다.


2.본문

사용하지 않는 인자에 대해서 warning을 발생시켜주는 점은 참 고맙지만 고의로 그렇게 한 경우 - 보통 메시지 핸들러에서 이런 경우가 많습니다 - 에는 의미없는 메시지입니다.

이럴때는 크게 3가지 방법으로 warning을 제거할 수 있습니다.

1. 인자를 빼버린다.
void CMyView::OnMouseMove( UINT, CPoint point) 
=> 이해하기 힘든 코드가 될 수도 있습니다.

2. 인자를 주석처리한다.

void CMyView::OnMouseMove( UINT /*nFlags*/, CPoint point) 
=> 1 번보다는 좋지만, 문제점이 몇 가지 있습니다.

3. UNUSED 매크로를 사용한다. *추천*
void CMyView::OnMouseMove( UINT nFlags, CPoint point) 

{ 

    UNUSED_ALWAYS(nFlags) 

    ... 

} 

=> 참 보기 좋네요..

-----------------------------------------------------------

UNUSED 매크로는 MFC에서 다음과 같이 정의되어 있습니다.

#ifdef _DEBUG 

#define UNUSED(x) 

#else 

#define UNUSED(x) x 

#endif 

#define UNUSED_ALWAYS(x) x 

정리하자면

UNUSED 는 release 버전에서만 사용하지 않는다는 의미가 되고 UNUSED_ALWAYS 는 항상 사용하지 않는다는 의미가 되겠죠..


3.예제



4.참고

Debugging Windows Programs, Strategies, Tools, and Techniques for Visual C++ Programmers



- 2001.08.13 Smile Seo -
"MFC" 카테고리의 다른 글
  • List Control 에 다른 Control 넣기 (0)2007/02/21
  • 256색 이상의 Bitmap ImageList 만들기 (0)2007/02/21
  • 사용하지 않는 인자에 대한 warning 없애기 (0)2007/02/21
  • WM_COPYDATA 를 사용한 메세지 전송 (0)2007/02/21
  • ATOM을 이용한 프로세스간 데이터 공유 (0)2007/02/21
2007/02/21 15:21 2007/02/21 15:21
Posted by webdizen
Tags warning 제거
No Trackback No Comment

Trackback URL : http://www.webdizen.net/blog/trackback/2613

Leave your greetings.

[로그인][오픈아이디란?]

«Prev  1 ... 635 636 637 638 639 640 641 642 643 ... 3009  Next»

RSS HanRSS
Blog Image
webdizen
이곳은 컴퓨터에 대해 연구하고, 공유하고, 소통하기 위한 연구실입니다. 개인적으로는 OLAP, Data Mining, Semantic Web, Data Modeling에 대해서 연구하고 있습니다.

Categories

전체 (3009)
Webdizen (141)
Life (6)
Diary (16)
Blog (9)
IDEA (2)
Travel (10)
Book (16)
Photo (7)
Movie (8)
Music (14)
Leisure Sports (10)
Funny (6)
Hardware (121)
Software (120)
Windows (5)
Unix & Linux (120)
Installation (5)
Kernel (10)
System (34)
Develop (22)
X-Window (0)
Applicaton (31)
Security (4)
Framework (2)
Hadoop (2)
Programming (804)
Algorithm & Data Structure (1)
Assembly (38)
UNIX/Linux C (95)
C++ (128)
STL (4)
Java (38)
Win32 API (92)
ATL/COM (44)
MFC (151)
.NET (26)
WCF/WPF (4)
C# (28)
Network Programming (17)
Database Programming (12)
OpenGL / DirectX (13)
Multimedia Programming (0)
Game Programming (21)
Parallel Distributed Progra... (0)
Reverse Engineering (0)
Debugging (9)
Python (1)
Ruby (1)
Ruby on Rails (1)
QT (4)
GTK (0)
JSP (0)
PHP (6)
ASP.NET (6)
ASP (2)
Development (28)
Useful Library (2)
Data Modeling (0)
Database (105)
Oracle (4)
MSSQL (41)
MySQL (2)
Data Warehouse (2)
Data Mining (4)
Network (66)
Web (79)
DHTML (4)
XHTML (1)
Javascript (1)
CSS (1)
AJAX (9)
XML (11)
Flex (1)
Silverlight (3)
Security (91)
DoS (1)
Kernel (10)
Scanning (3)
Sniffing (0)
Spoofing (4)
Overflow (28)
Web (11)
Shell (10)
Format String (14)
Window (2)
Embedded (70)
Multimedia (27)
Mobile (14)
Graphic (24)
Management (633)
Knowledge (581)
Hadoop (0)

Notice

  • 메타 블로그 사이트에 등록
  • 새해 맞이 블로그의 변화
  • 블로그 명칭 변경
  • 도메인(www.webdizen.net) 구...
  • TEXTCUBE 1.6.1로 업그레이드...

Tags

  • PageRank
  • Essboard
  • Recovery
  • 약학관
  • 한/영 전환
  • XML Web Service
  • API
  • 해킹
  • SASS
  • 평생교육원
  • UDP
  • Active Directory
  • 보드카
  • 속도향상
  • VisualStudio
  • UTMP
  • WaitForSingleObject
  • 시스템이용률
  • 프로세스 모델링
  • delete

Recent Articles

  • 트위터(Twitter)의 시작!.
  • 청년 리더의 조건.
  • 애플의 타블렛 PC - 아이패드....
  • 미래의 인터페이스 - 육감 기....
  • 기초발성법 동영상 강좌.

Recent Comments

  • 학교 과제물중 쓰레드에 대하....
    장진혁 03/17
  • 관리자만 볼 수 있는 댓글입....
    비밀방문자 03/12
  • 상대방의 이야기를 열심히 경....
    DoNuts 03/03
  • Lots of students know techn....
    Bobbi35Shannon 02/25
  • 좋은글 잘 보고 갑니다..
    Und_hacker 01/08

Recent Trackbacks

  • printf,scanf를 이용한 형식....
    yundream의 프로그래밍 이야기 03/10
  • 파일 열기/저장하기 CFileDialog.
    은마군의 나태블록 2009
  • World IT Show 2008.
    상우 :: Oranzie's BLOG 2008
  • cvs서버 설치하기.
    3인3색 2008
  • 속속 공개되는 Google Chart....
    PHP와 Web 2.0 2007

Archive

  • 2010/02 (1)
  • 2010/01 (6)
  • 2009/12 (5)
  • 2009/09 (3)
  • 2009/08 (1)

Calendar

«   2010/03   »
일 월 화 수 목 금 토
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Bookmarks

    • Administration
      • IIS.NET
      • NTFAQ
      • OS의 모든 것
      • 리눅스포털
    • Database
      • SQL Server Central
      • SQL Team
    • Development
      • .NET Heaven
      • ASP Alliance
      • ASP.NET 2.0
      • Bullog.net
      • C# Corner
      • C++ (C PlusPlus.com)
      • C++ Reference
      • CodeGuru
      • CodePlex
      • DebugLab
      • Dev Articles
      • Devpia
      • DotNet Junkies
      • DotNet Zone
      • Driver Online
      • GOSU.NET
      • HOONS 닷넷
      • Joinc 팀블로그
      • KOSR
      • MSDN Home Page
      • OSR Online
      • Sky.ph - 개발자 커뮤니...
      • TAEYO.NET
      • The Code Project
      • WindowsClient.net
      • 김상욱의 개발자 Side
      • 조인시 위키
    • Human Networks
      • belief21c's e-space
      • I think I can
      • Invisible Rover's Blog :D
      • Rodman®
      • ■ Feel So Good~! ■
      • 까만 나비
      • 나를 가꾸는 시간.
      • 나만의 즐거움~~!
      • 단녕
      • 상우 :: Oranzie's BLOG
    • Information Technology
      • Microsoft TechNet
      • 지디넷코리아 - 글로벌...
    • Security
      • FoundStone
      • milw0rm
      • NewOrder
      • OpenRCE
      • Phrack.org
      • Reverse Engineering b1...
      • Reverse Engineering Team
      • RootKit
      • SecurityFocus
      • SecurityXploded by Nag...
      • Wow Hacker
      • Zone-H
Textcube
Louice Studio Inc.
Powered by Textcube. Original designed by Tistory.