常用的条件编译命令有如下三种格式:
格式1:# ifdef<标识符>
<
程序段1>
#else
<
程序段2>
#endif
或 # ifdef<标识符>
<
程序段1>
#endif
格式
2
:
# ifndef<
标识符
>
<
程序段
1>
#else
<
程序段
2>
#endif
或
# ifndef<
标识符
>
<
程序段
1>
#endif
格式3: #if <常量表达式1>
<
程序段1>
#elif<常量表达式2>
<
程序段2>
#elif<常量表达式3>
<
程序段3>
… …
#else
<
程序段n+1>
#endif
例如:
#if defined(_PC) && defined(_SSE)
#if defined(_PC) && defined(_SSE)
# ifdef DEBUG
# define __PC_VERIFY_ALIGNMENT__
# endif
# define __PC_VERIFY_ALIGNMENT__
# endif
# ifdef __PC_VERIFY_ALIGNMENT__
# define PC_VERIFY_ALIGN_ASSERT( ptr ) /
{/
if( ( ( (INT) ptr ) % 16) != 0 ) /
{/
debugf( NAME_Critical, TEXT("Unaligned PC data (0x%X)"), ptr ); /
DebugBreak(); /
}/
}
# else
# define PC_VERIFY_ALIGN_ASSERT( ptr )
# endif
# define PC_VERIFY_ALIGN_ASSERT( ptr ) /
{/
if( ( ( (INT) ptr ) % 16) != 0 ) /
{/
debugf( NAME_Critical, TEXT("Unaligned PC data (0x%X)"), ptr ); /
DebugBreak(); /
}/
}
# else
# define PC_VERIFY_ALIGN_ASSERT( ptr )
# endif
#else
# define PC_VERIFY_ALIGN_ASSERT( ptr )
#endif
# define PC_VERIFY_ALIGN_ASSERT( ptr )
#endif