typedef struct {
QUEUE_DATA_TYPE *Out; /* 指向数据输出位置 */
QUEUE_DATA_TYPE *In; /* 指向数据输入位置 */
QUEUE_DATA_TYPE *End; /* 指向Buf的结束位置 */
uint16 NData; /* 队列中数据个数 */
uint16 MaxData; /* 队列中允许存储的数据个数 */
uint8 (* ReadEmpty)(); /* 读空处理函数 */
uint8 (* WriteFull)(); /* 写满处理函数 */
QUEUE_DATA_TYPE Buf[1]; /* 存储数据的空间 */
} DataQueue;
/* 计算队列可以存储的数据数目 */
Queue->MaxData = (SizeOfBuf - (uint32)(((DataQueue *)0)->Buf)) / sizeof(QUEUE_DATA_TYPE);
#pragma pack(?)指定不同的对齐方式, sizeof(DataQueue)总是?整数倍。
struct对齐
最新推荐文章于 2023-01-17 19:16:29 发布