报错误:Warning: C2221W:padding inserted in struct 'SysmgrTag '
我定义的结构体如下:
typedef struct SysMgrTag SysMgr;
struct SysMgrTag { //系统管理对象的属性
QActive super_; // inherits from QActive
uint8_t tasknum__; //对象代号
uint8_t fatasknum; //上层菜单对象代号
uint8_t fapos; //上层图形菜单位置,0始
uint8_t wustate__; //记录活动用户
uint8_t factorynum[16]; //出厂编号
uint8_t equnum[16]; //设备号
Hdtsys wset; //记录基本设置
Hdtsmg suser; //系统用户
Hdtuser wuser[3]; //最多三用户
Hdtdbf datdbf[5]; //最多五基础数据
uint8_t wdatdbf__; //记录活动基础数据
uint8_t tcycle; //记录数据循环标记
uint8_t tempnpass[9]; //密码临时变量
uint8_t curuser; //当前用户,1为用户1…,9为系统用户
uint8_t isformat; //0未格式化,1已格式化
uint8_t IrDA_MODE; //0-通过基座传输;1-双机对传 ;
uint8_t IrDA_BAUD; //波特率值
uint8_t rec_count; //记录在用的数量
uint8_t osVersion[8]; //内核版本
uint8_t rec_Cas[5]; //记录选取的顺序
uint8_t apadx1_;
uint8_t apadx2_;
uint8_t apadx3_;
uint32_t f_allspace; //记录剩余空间数,单位字节
};
应该是结构体的占用空间不是16位的整数倍?
但我在结构体里加入 uint8 temp[1] 、uint8 temp[2] 、uint8 temp[3] 、依次增加都不见效果,仍然抱这个警告。不知何故?