lib-mfc.lnt
上传用户:filter2008
上传日期:2010-03-12
资源大小:2959k
文件大小:5k
源码类别:

编辑器/阅读器

开发平台:

C/C++

  1. //  lib-mfc.lnt
  2. //  Library Options File for the Microsoft Foundation Class library
  3. //
  4. //  Other options useful for MFC have been placed in the
  5. //  compiler options files for the Microsoft C compiler (co-msc.lnt).
  6. //
  7. -elib(570)      // loss of sign in afxdisp.h
  8. -elib(579)      // bad type preceding ,... in afxdisp.h
  9. -elib(648)      // overflow in arithmetic operation in moniker.h
  10. -elib(659)      // nothing follows '}' in variant.h
  11. -elib(723)      // suspicious use of '=' in defining PURE
  12. -elib(726)      // Extraneous comma
  13. -elib(763)      // Repeated declarations
  14. -elib(773)      // #define NAME (SHORT)-2 causes problems
  15. -elib(1411)     // hiding a virtual function with a different signature
  16. -elib(1509)     // base class not virtual
  17. -elib(1516)     // Data member hiding inherited member
  18. -elib(1725)     // class member is a reference
  19. -elib(1727)     // inline function not previously defined inline
  20. -esym(767,AFXAPP_DATA)  // macro may be defined differently
  21. -esym(1511,*::On*)      // Message handlers typically begin with 'On'
  22. // and they are not virtual and they hide other
  23. // identically named members in base classes
  24. -esym(534,wsprintf*,*::On*)   // functions whose return
  25. // values are ignored, add to this as needed ...
  26. -esym(534,AfxMessageBox)   // like this
  27. -esym(534,CArchive::operator<<,CArchive::operator>>)  // and these ...
  28. -esym(534, CObList::AddTail, CDC::MoveTo, CDC::LineTo )
  29. -esym(534, CWnd::SetCapture, ReleaseCapture )
  30. -esym(767,lstrcpyn,FindResource)  // UNICODE redefines some macros
  31. -esym(1512,CThreadLocalObject)  // destructor is not virtual
  32. -esym(1512,CProcessLocalObject)  // destructor is not virtual
  33. -emacro(785,IMPLEMENT_*)          // not enough initializers
  34. -emacro(1502,IMPLEMENT_*)         // object w/o data members
  35. -emacro(522,IMPLEMENT_*)          // expect void, assignment, etc.
  36. -emacro(1773,IMPLEMENT_*)         // casting away const
  37. -emacro(1516,DECLARE_*)           // member hides inherited member
  38. -emacro(415,_AFX_FP_SEG)          // access of out-of-bounds pointer
  39. -emacro(651,ON_EVENT)             // does not fully brace initializer items
  40. -emacro(648,ON_NOTIFY)            // unusual arithmetic in this macro
  41. -lobbase(stdafx.lob)              // use stdafx.lob as base for later lobs
  42. -e641         // converting enums to ints seems to be standard practice
  43. -e655         // bit-wise operations on enums also is standard practice
  44. -e1511        // members hiding members (also standard practice)
  45. -e1736        // redundant access specifiers in generated code
  46. -e1923        // cites when #define's can be converted to const declarations
  47.       // unfortunately resource.h has many of these.  Alternatively,
  48.       // make resource.h a library file (+libh) and use -elib(1923)
  49. -d__SW_BM         // Watcom requires the multithread flag be set for MFC
  50. -d__SW_ML         // Watcom requires large model for MFC
  51. -function( operator new(r) )  // operator new never returns NULL.
  52. -function( operator new[](r) ) // operator new[] never returns NULL.
  53. --unew    // keep new from becoming #define'd.  It's defined to be
  54.   // DEBUG_NEW which is defined to be new(arg,arg) which is OK for
  55.   // regular new's but array new's come to grief.  This is because
  56.   // there is no declaration given for operator new[](arg,arg,arg).
  57. -function( operator delete, CObject::operator delete )
  58. -function( operator delete[], CObject::operator delete[] )
  59. +dASSERT=__assert    // lock in the define of ASSERT to be the builtin function
  60. -esym(1055,__assert) // the built-in is undeclared
  61. -esym(526,__assert)  // and not defined either.
  62. -esym(516,__assert)  // arguments may vary.
  63. -esym(534,__assert)  // the return value is ignored
  64. -esym(628,__assert)  // and no argument information given
  65. -esym(746,__assert)  // and no formal prototype provided
  66.      // otherwise __assert() is an 'ideal' assert function.
  67. // the following are required for .dll processing
  68. -efunc(571,_tcsnextc)  // suspicious cast
  69. -efunc(732, CSimpleList::CSimpleList) // loss of sign
  70. -efunc(732, CSimpleList::Construct)   // loss of sign
  71. -elib(1510) // afxdisp.h base class 'tagVARIANT' has no destructor
  72. -elib(783)  // Line does not end with new-line
  73. -elib(767)  // macro INTERFACE was defined differently (richole.h && olectl.h)
  74. -elib(745)  // function has no specific type or class
  75. -emacro(19,_T) // there is a spurious semi-colon in the use of macro _T in some locations
  76. -esym(578,system) // declaration of 'system' hides 'system(const char *)' (afx.h)
  77. -elibsym(1512)    // base class destructor is non-virtual
  78. -elibsym(1932)    // base classes can be non-abstract
  79. -function( exit, AfxAssertFailedLine )  // special assert for MFC
  80. +libh(resource.h) // resource.h is considered library