35 lines
1.3 KiB
C
35 lines
1.3 KiB
C
#ifndef MACRO_HEAD_FILE
|
|
#define MACRO_HEAD_FILE
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
//常用常量
|
|
|
|
//无效数值
|
|
#define INVALID_BYTE ((uint8)(0xFF)) //无效数值
|
|
#define INVALID_WORD ((uint16)(0xFFFF)) //无效数值
|
|
#define INVALID_DWORD ((uint32)(0xFFFFFFFF)) //无效数值
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
//数组维数
|
|
#define CountArray(Array) (sizeof(Array)/sizeof(Array[0]))
|
|
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
//接口释放
|
|
#define SafeRelease(pObject) { if (pObject!=0) { pObject->Release(); pObject=0; } }
|
|
|
|
//删除指针
|
|
#define SafeDelete(pData) { try { delete pData; } catch (...) { ASSERT(FALSE); } pData=0; }
|
|
|
|
//删除数组
|
|
#define SafeDeleteArray(pData) { try { delete [] pData; } catch (...) { ASSERT(FALSE); } pData=0; }
|
|
|
|
//////////////////////////////////////////////////////////////////////////////////
|
|
//校验宏
|
|
#define VERIFY_RETURN_FALSE(x) {if (!(x)){ ASSERT(0); return false; }}
|
|
#define VERIFY_RETURN_TRUE(x) {if (!(x)){ ASSERT(0); return true; }}
|
|
#define VERIFY_THROW(x,y) {if (!(x)){ ASSERT(0); throw (y); }}
|
|
#define VERIFY_RETURN_VOID(x) {if (!(x)){ ASSERT(0); return; }}
|
|
#define VERIFY_RETURN(x,y) {if (!(x)){ ASSERT(0); return (y); }}
|
|
|
|
#endif |