수안이의 컴퓨터 연구실

  • Mainpage
  • About Me
  • Tags
  • Metapage
  • Notice
  • Location
  • Keywords
  • Guestbook
  • Admin
  • Write an Article
  • Total | 1620932
  • Today | 312
  • Yesterday | 482

Programming/MFC2007/03/19 09:15

사용하지 않는 인자에 대한 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" 카테고리의 다른 글
  • MFC에서 NULL을 비교하는 것은 의미가 없다. (0)2007/03/21
  • URL을 파싱하자 (0)2007/03/19
  • 사용하지 않는 인자에 대한 warning 없애기 (0)2007/03/19
  • HBITMAP을 BMP 파일로 만들어 주는 함수 (0)2007/03/08
  • History ComboBox (0)2007/03/08
2007/03/19 09:15 2007/03/19 09:15
Posted by webdizen
No Trackback No Comment

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

Leave your greetings.

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

«Prev  1 ... 538 539 540 541 542 543 544 545 546 ... 2998  Next»

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

Categories

전체 (2998)
Webdizen (134)
Life (6)
Diary (16)
Blog (9)
IDEA (1)
Travel (10)
Book (14)
Photo (7)
Movie (7)
Music (13)
Leisure Sports (10)
Funny (5)
Hardware (119)
Software (120)
Windows (5)
Unix & Linux (119)
Installation (4)
Kernel (10)
System (34)
Develop (22)
X-Window (0)
Applicaton (31)
Security (4)
Framework (2)
Hadoop (2)
Programming (805)
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 (3)
Development (28)
Useful Library (2)
Data Modeling (0)
Database (105)
Oracle (4)
MSSQL (41)
MySQL (2)
Data Warehouse (2)
Data Mining (3)
Network (66)
Web (78)
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

  • Excel
  • 파일 종류
  • Error Code
  • User
  • 음악
  • Essboard
  • RPM
  • Ubuntu
  • CodeIgniter
  • 생각
  • find
  • Accessiblity
  • SAX Filters
  • SendMessage
  • Solaris
  • Worker
  • 동시성
  • 서술 작업
  • 데이타 웨어하우스
  • CFile

Recent Articles

  • ASCII Code의 CRLF 제거 방법.
  • Hadoop 에서 c++ API 이용시....
  • Ubuntu Linux에서 Hadoop 구....
  • 내 심장을 한껏 뛰게한 "국가....
  • 스타 스키마 데이터베이스 설....

Recent Comments

  • ■ 온라인카지노 ▶ http://L....
    asdf 11/21
  • 그리고 혹시 해외여행자보험....
    kim 11/05
  • ★★실제 바다게임장과 똑같....
    asdf 11/04
  • sbsyama.co.to← 짱5000만당....
    asdf 11/04
  • ♡KicaZ??o(???) 바카라사....
    fdsf3fass 11/03

Recent Trackbacks

  • 파일 열기/저장하기 CFileDialog.
    은마군의 나태블록 02/11
  • World IT Show 2008.
    상우 :: Oranzie's BLOG 2008
  • cvs서버 설치하기.
    3인3색 2008
  • 속속 공개되는 Google Chart....
    PHP와 Web 2.0 2007
  • 마방진을 구하는 프로그램.
    Oranzie's BLOG 3 2007

Archive

  • 2009/09 (3)
  • 2009/08 (1)
  • 2009/03 (1)
  • 2009/02 (9)
  • 2009/01 (13)

Calendar

«   2009/11   »
일 월 화 수 목 금 토
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          

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.