zoukankan      html  css  js  c++  java
  • 关于字节对齐。。一个坑惨了的大坑

    忘记恢复字节对齐,会带来极其严重的问题。。。。甚至还会导致代码段出现各种未知的Segmentation fault

    (我就遇到了,直接导致某段代码经过编译就会crash,因为引用了这个忘了‘取消对齐设置’的有文件,直接导致代码段混乱了。。)

    #pragma pack(push,1)  // 是指把原来对齐方式设置压栈,并设新的对齐方式设置为1个字节对齐
    
    struct OGWHeader
    {
        uint32_t MsgType;
        uint32_t BodyLength;
    };
    
    #pragma pack(pop) // 恢复对齐状态

    (ps: 或者用#pragma pack(n)   和   #pragma pack ()  也可以。)

    #pragma pack(pop) //不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

    #pragma pack(pop) // 不要忘了 恢复对齐状态

  • 相关阅读:
    一些比较实用的小函数
    开发KOL程序 (1)
    开发KOL程序2
    使用mask来制作图像透明
    用U盘方便快捷安装系统
    Windows记忆专家
    Delphi开发桌面图标列表查看程序
    js压缩上传图片,转载
    js操作二进制数据
    mui扫码横屏全屏
  • 原文地址:https://www.cnblogs.com/xiaouisme/p/13452742.html
Copyright © 2011-2022 走看看