#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