C_ASSERT宏 (winnt.h)

在编译时检查断言。

语法

void C_ASSERT(
   e
);

参数

e

可在编译时确定的表达式。

返回值

备注

C_ASSERT宏的定义如下。

#define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1]

以下示例演示编译时断言的常见类型。

C_ASSERT (BUFFER_CCH_SIZE <= MAX_PATH);

C_ASSERT (ARRAYSIZE(array1) == ARRAYSIZE(array2));

C_ASSERT (FIELD_OFFSET(STRUCT_DEF, MemberName) == 0x1d4);

C_ASSERT (sizeof(BOOLEAN) == sizeof(UCHAR));

要求

   
目标平台 Windows
标头 winnt.h (包括 Windows.h)