QT 结构体字节对界问题

QT默认是4字节对界,所以程序中使用sizeof()时会出现问题,看采用如下方法:

/字节对齐,否则共用体那里指针处理时有问题
#pragma pack(push)  //保存对齐
#pragma pack(1) //设定为1字节对齐
typedef struct{
    uint16_t    VoltPos;    	//+总电压(3位整数,1位小数)(采样)
    uint16_t    VoltNeg;    	//-总电压

    int16_t     DisAndChgCurrPos;
    int16_t     DisAndChgCurrNeg;

    union  BAT_SYS_STA	BattCheckSta;
    union  BAT_SYS_STA	BattAlarmSta;
    uint32_t    BattPackCommErrChk;
    uint32_t    BattPackCommErrAlm;

}BMS_SYS_DAT;
#pragma pack(pop)   //恢复对齐状态

posted on   xihong  阅读(236)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
历史上的今天:
2021-12-28 C# 多线程修改控件时,提示在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke(转)
2020-12-28 关于Maven项目build时出现No compiler is provided in this environment的处理(转)
2017-12-28 网页文件直接打开

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示