通常情况下一个结构体的封装被创建如下所示: #ifdef PACK_STRUCT_USE_INCLUDES
# include "arch/bpstruct.h"
#endif
PACK_STRUCT_BEGIN
struct <structure_name> {
PACK_STRUCT_FIELD(<type> <field>);
PACK_STRUCT_FIELD(<type> <field>);
<...>
} PACK_STRUCT_STRUCT;
PACK_STRUCT_END
#ifdef PACK_STRUCT_USE_INCLUDES
# include "arch/epstruct.h"
#endif
你要在cc.h文件中定义合适的PACK_STRUCT_BEGIN,PACK_STRUCT_FIELD,PACK_STRUCT_STRUCT和PACK_STRUCT_END。该相关的定义主要取决于你的编译器。只有PACK_STRUCT_STRUCT是需要的,lwip/src/include/lwip/arch.h文件提供了其它(PACK_STRUCT_BEGIN。。。)默认空的定义。根据情况,你可能还要定义PACK_STRUCT_USE_INCLUDES并且提供bpstruct.h