下面的代码载自libxml中的xmlmemmory.c
#ifdef SUN4
#define ALIGN_SIZE 16
#else
#define ALIGN_SIZE sizeof(double)
#endif
#define HDR_SIZE sizeof(MEMHDR)
#define RESERVE_SIZE (((HDR_SIZE + (ALIGN_SIZE-1)) /
/ ALIGN_SIZE ) * ALIGN_SIZE)
#define ALIGN_SIZE 16
#else
#define ALIGN_SIZE sizeof(double)
#endif
#define HDR_SIZE sizeof(MEMHDR)
#define RESERVE_SIZE (((HDR_SIZE + (ALIGN_SIZE-1)) /
/ ALIGN_SIZE ) * ALIGN_SIZE)
此处的作用是为了保证通过HDR_SIZE分配的大小是ALIGN_SIZE的整数倍,内存中为了取得整数个内存或者按多少字节对齐时经常采用此法