1 “取模”操作的高效替代操作——“取&”
e.g. 9%(2^3) = 1
9&(2^3 - 1) = 1
2 宏与其对应字符的转换——“#”的用法
#define CASE_LOCAL( pLoc ) \
case ( (pLoc) ): \
{ \
pLocStr = #pLoc; \
} \
break;
/*
** Switch on the Locale of PteAdmin
*/
switch( gLocal )
{
/*
** Log these pte admins.
*/
CASE_LOCAL( HAPI_PTE_ADM_N_AMERICA )
CASE_LOCAL( HAPI_PTE_ADM_GENERAL )
CASE_LOCAL( HAPI_PTE_ADM_JAPAN )
CASE_LOCAL( HAPI_PTE_ADM_EUROPE )
CASE_LOCAL( HAPI_PTE_ADM_AUSTRALIA )
CASE_LOCAL( HAPI_PTE_ADM_BRAZIL )
default:
{
pLocStr = "Unknown pte Admin";
}
break;
}
XCHG_ASSERT( pLocStr != NULL );
LOG(( "Location:'%s' |(0x%x)\n",
pLocStr, gLocal));