字节对齐

今天写代码,遇到个问题,数据结构是这样的,然后收header的时候,cmd内容怎么都对不了,知道struct c++的字节对齐,这个结构体占16字节。

struct PacketHeader {
    uint16_t magic_num; 
    uint32_t seq_num;
    uint16_t cmd;
    uint32_t packet_len;

};

以后写代码的时候了解一下,怎么取消字节对齐,这样就可以取消了

#pragma pack(1)
struct PacketHeader {
    uint16_t magic_num; 
    uint32_t seq_num;
    uint16_t cmd;
    uint32_t packet_len;    
};
#pragma pack()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章