ASSERT.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. //+---------------------------------------------------------------------------
  2. //
  3. //  Microsoft Windows
  4. //  Copyright 1992 - 1997 Microsoft Corporation.
  5. //
  6. //  File:       assert.h
  7. //
  8. //  Contents:   private definition of assert, used by NT SDK OLE2 samples
  9. //
  10. //  History:    8-19-94   stevebl   Created
  11. //
  12. //----------------------------------------------------------------------------
  13. /*
  14.  * Conditional macro definition for function calling type and variable type
  15.  * qualifiers.
  16.  */
  17. #if   ( (_MSC_VER >= 800) && (_M_IX86 >= 300) )
  18. /*
  19.  * Definitions for MS C8-32 (386/486) compiler
  20.  */
  21. #ifndef _CRTAPI1
  22. #define _CRTAPI1 __cdecl
  23. #endif
  24. #ifndef _CRTAPI2
  25. #define _CRTAPI2 __cdecl
  26. #endif
  27. #else
  28. /*
  29.  * Other compilers (e.g., MIPS)
  30.  */
  31. #ifndef _CRTAPI1
  32. #define _CRTAPI1
  33. #endif
  34. #ifndef _CRTAPI2
  35. #define _CRTAPI2
  36. #endif
  37. #endif
  38. #undef  assert
  39. #ifdef NDEBUG
  40. #define assert(exp)     ((void)0)
  41. #else
  42. #ifdef __cplusplus
  43. extern "C" {
  44. #endif
  45. void _CRTAPI1
  46. PopUpAssert(
  47.     void * szFile,
  48.     int iLine,
  49.     void * szMessage);
  50. #ifdef __cplusplus
  51. }
  52. #endif
  53. #define assert(exp) (void)( (exp) || (PopUpAssert(__FILE__, __LINE__, #exp), 0) )
  54. #define _assert(exp, file, line) PopUpAssert(file, line, exp)
  55. #endif  /* NDEBUG */