使用#pramga pack()设置字节对齐时不要将该语句放置在QCoreApplication头文件前,否则调用QString等类时将导致程序崩溃
//#pragma pack(push)
//#pragma pack(1) // QCoreApplication前修改字节对齐方式将导致程序崩溃
#include <QCoreApplication>
#pragma pack(push) // 保存原来的字节对齐方式
#pragma pack(1) // 设置1字节对齐
#include <QDebug>
int main

本文探讨了在使用Qt库时,如何正确处理字节对齐以避免程序崩溃。通过一个实例展示了在QCoreApplication头文件前后设置字节对齐的差异,强调了不应在QCoreApplication前修改字节对齐方式,否则可能导致QString等类调用出错。同时,示例中展示了结构体成员的偏移量计算和恢复原始字节对齐的方法。

3529

被折叠的 条评论
为什么被折叠?



