首页 > 代码库 > 关于MDK下pack的定义方法
关于MDK下pack的定义方法
我们使用数据流的过程中经常会用到结构体来进行解析,这个时候就需要使用字节对齐这个概念。不同的编译器的处理方法不一样。
这里小结一下MDK里面常用的几种方法:
1. 最常见的一种
使用#pragma packed struct
#pragma pack(1)
typedef struct __xxx {
u8 A8;
u16 A16;
} xxx_t;
#pragma pack()
这是做常用的方法,但是对于代码的跨编译平台使用的话,可能会比较麻烦,到时候每个结构体的定义都需要修改。
2. 使用__packed struct定义结构体
在结构体的定义中使用关键字,这样实现跨编译器使用的时候会方便很多
typedef __packed struct __xxx {
u8 A8;
u16 A16;
} xxx_t;
关于MDK下pack的定义方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。