今天写代码,遇到个问题,数据结构是这样的,然后收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()