SpObject.cpp
上传用户:zhanglf88
上传日期:2013-11-19
资源大小:6036k
文件大小:2k
源码类别:

金融证券系统

开发平台:

Visual C++

  1. /*
  2. Cross Platform Core Code.
  3. Copyright(R) 2001-2002 Balang Software.
  4. All rights reserved.
  5. Using:
  6. class Object;
  7. */
  8. #include "StdAfx.h"
  9. #define _SPRING( cause ) static char sz##cause[] = #cause;
  10. #include "../Include/SpObjErr.inl"
  11. #undef _SPRING
  12. #ifndef _SP_ENABLE_INLINES
  13. #define _SPOBJ_INLINE
  14. #include "../Include/SpObject.inl"
  15. #undef _SPOBJ_INLINE
  16. #endif
  17. static LPCSTR allObjectErrorNames[] = 
  18. {
  19. #define _SPRING( cause ) sz##cause,
  20. #include "../Include/SpObjErr.inl"
  21. #undef _SPRING
  22. NULL
  23. };
  24. void Object::AssertValid( ) const
  25. {
  26. SP_ASSERT( NULL != this );
  27. }
  28. void Object::Dump( ) const
  29. {
  30. }
  31. LPCSTR Object::GetLastErrorString( ) const
  32. {
  33. if( m_nErrorStatus >= errObject_None && m_nErrorStatus < errorEnd )
  34. return allObjectErrorNames[ m_nErrorStatus ];
  35. return NULL;
  36. }
  37. #ifdef _DEBUG
  38. void* Object::operator new( size_t nSize )
  39. {
  40. SP_ASSERT( SP_CheckMemory() );
  41. void *p = SP_AllocMemoryDebug( nSize, TRUE, NULL, 0 );
  42. if( NULL == p )
  43. {
  44. SP_TRACE1("Object::new( size_t ) allocate %d bytes fail.n", nSize );
  45. }
  46. return p;
  47. }
  48. void* Object::operator new( size_t nSize, LPCSTR lpszFileName, int nLine )
  49. {
  50. SP_ASSERT( SP_CheckMemory() );
  51. void *p = SP_AllocMemoryDebug( nSize, TRUE, lpszFileName, nLine );
  52. if( NULL == p )
  53. {
  54. SP_TRACE1("Object::new( size_t, LPCSTR, int ) allocate %d bytes fail.n", nSize );
  55. }
  56. return p;
  57. }
  58. void Object::operator delete( void *p )
  59. {
  60. SP_ASSERT( SP_CheckMemory() );
  61. SP_FreeMemoryDebug( p, TRUE );
  62. }
  63. #if _MSC_VER >= 1200
  64. void Object::operator delete( void *p, void* )
  65. {
  66. SP_ASSERT( SP_CheckMemory() );
  67. SP_FreeMemoryDebug(p,TRUE);
  68. }
  69. void Object::operator delete( void *p, LPCSTR /* lpszFileName */,
  70. int /* nLine */ )
  71. {
  72. SP_ASSERT( SP_CheckMemory() );
  73. SP_FreeMemoryDebug(p, TRUE);
  74. }
  75. #endif // _MSC_VER
  76. #endif //_DEBUG