lib-mfc.lnt
资源名称:pclint.rar [点击查看]
上传用户:filter2008
上传日期:2010-03-12
资源大小:2959k
文件大小:5k
源码类别:
编辑器/阅读器
开发平台:
C/C++
- // lib-mfc.lnt
- // Library Options File for the Microsoft Foundation Class library
- //
- // Other options useful for MFC have been placed in the
- // compiler options files for the Microsoft C compiler (co-msc.lnt).
- //
- -elib(570) // loss of sign in afxdisp.h
- -elib(579) // bad type preceding ,... in afxdisp.h
- -elib(648) // overflow in arithmetic operation in moniker.h
- -elib(659) // nothing follows '}' in variant.h
- -elib(723) // suspicious use of '=' in defining PURE
- -elib(726) // Extraneous comma
- -elib(763) // Repeated declarations
- -elib(773) // #define NAME (SHORT)-2 causes problems
- -elib(1411) // hiding a virtual function with a different signature
- -elib(1509) // base class not virtual
- -elib(1516) // Data member hiding inherited member
- -elib(1725) // class member is a reference
- -elib(1727) // inline function not previously defined inline
- -esym(767,AFXAPP_DATA) // macro may be defined differently
- -esym(1511,*::On*) // Message handlers typically begin with 'On'
- // and they are not virtual and they hide other
- // identically named members in base classes
- -esym(534,wsprintf*,*::On*) // functions whose return
- // values are ignored, add to this as needed ...
- -esym(534,AfxMessageBox) // like this
- -esym(534,CArchive::operator<<,CArchive::operator>>) // and these ...
- -esym(534, CObList::AddTail, CDC::MoveTo, CDC::LineTo )
- -esym(534, CWnd::SetCapture, ReleaseCapture )
- -esym(767,lstrcpyn,FindResource) // UNICODE redefines some macros
- -esym(1512,CThreadLocalObject) // destructor is not virtual
- -esym(1512,CProcessLocalObject) // destructor is not virtual
- -emacro(785,IMPLEMENT_*) // not enough initializers
- -emacro(1502,IMPLEMENT_*) // object w/o data members
- -emacro(522,IMPLEMENT_*) // expect void, assignment, etc.
- -emacro(1773,IMPLEMENT_*) // casting away const
- -emacro(1516,DECLARE_*) // member hides inherited member
- -emacro(415,_AFX_FP_SEG) // access of out-of-bounds pointer
- -emacro(651,ON_EVENT) // does not fully brace initializer items
- -emacro(648,ON_NOTIFY) // unusual arithmetic in this macro
- -lobbase(stdafx.lob) // use stdafx.lob as base for later lobs
- -e641 // converting enums to ints seems to be standard practice
- -e655 // bit-wise operations on enums also is standard practice
- -e1511 // members hiding members (also standard practice)
- -e1736 // redundant access specifiers in generated code
- -e1923 // cites when #define's can be converted to const declarations
- // unfortunately resource.h has many of these. Alternatively,
- // make resource.h a library file (+libh) and use -elib(1923)
- -d__SW_BM // Watcom requires the multithread flag be set for MFC
- -d__SW_ML // Watcom requires large model for MFC
- -function( operator new(r) ) // operator new never returns NULL.
- -function( operator new[](r) ) // operator new[] never returns NULL.
- --unew // keep new from becoming #define'd. It's defined to be
- // DEBUG_NEW which is defined to be new(arg,arg) which is OK for
- // regular new's but array new's come to grief. This is because
- // there is no declaration given for operator new[](arg,arg,arg).
- -function( operator delete, CObject::operator delete )
- -function( operator delete[], CObject::operator delete[] )
- +dASSERT=__assert // lock in the define of ASSERT to be the builtin function
- -esym(1055,__assert) // the built-in is undeclared
- -esym(526,__assert) // and not defined either.
- -esym(516,__assert) // arguments may vary.
- -esym(534,__assert) // the return value is ignored
- -esym(628,__assert) // and no argument information given
- -esym(746,__assert) // and no formal prototype provided
- // otherwise __assert() is an 'ideal' assert function.
- // the following are required for .dll processing
- -efunc(571,_tcsnextc) // suspicious cast
- -efunc(732, CSimpleList::CSimpleList) // loss of sign
- -efunc(732, CSimpleList::Construct) // loss of sign
- -elib(1510) // afxdisp.h base class 'tagVARIANT' has no destructor
- -elib(783) // Line does not end with new-line
- -elib(767) // macro INTERFACE was defined differently (richole.h && olectl.h)
- -elib(745) // function has no specific type or class
- -emacro(19,_T) // there is a spurious semi-colon in the use of macro _T in some locations
- -esym(578,system) // declaration of 'system' hides 'system(const char *)' (afx.h)
- -elibsym(1512) // base class destructor is non-virtual
- -elibsym(1932) // base classes can be non-abstract
- -function( exit, AfxAssertFailedLine ) // special assert for MFC
- +libh(resource.h) // resource.h is considered library