字節對齊

今天寫代碼,遇到個問題,數據結構是這樣的,然後收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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章