求助:STM32 Keil用sizeof计算结构体字节数遇到的问题。

momodosky 2022-10-17 21:12:44

结构体定义(单字节对齐):

#pragma pack(1)

typedef struct MSG_HEAD
{
  uint8_t   type;
  uint8_t   cmd;
  uint16_t  len;
  uint16_t  dst;
  uint16_t  src;
  uint16_t  msn;
  uint16_t  rnd;
  uint16_t  key;
  uint16_t  para1;
  uint16_t  para2;
} YC_MSG_HEAD_T;

#pragma pack()

#define M_MSG_HEAD_LEN        sizeof(YC_MSG_HEAD_T)

 希望通过sizeof获得结构体字节数,  但不论是M_MSG_HEAD_LEN、sizeof(YC_MSG_HEAD_T)以及sizeof(struct MSG_HEAD),返回的字节数都为8,点解?

在QT环境下,同样代码能够返回正确的字节数。

...全文
97 1 打赏 收藏 举报
写回复
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2022-11-11
  • 打赏
  • 举报
回复

8是你看错了,应该是18吧?

相关推荐
发帖
单片机/工控

2.7w+

社区成员

硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
帖子事件
编辑了帖子 (查看)
2022-10-17 21:30
创建了帖子
2022-10-17 21:12
社区公告
暂无公告