码迷,mamicode.com
首页 > 其他好文 > 详细

关于MDK下pack的定义方法

时间:2017-07-12 01:23:56      阅读:229      评论:0      收藏:0      [点我收藏+]

标签:实现   编译器   常用   概念   解析   对齐   方法   修改   不同   

我们使用数据流的过程中经常会用到结构体来进行解析,这个时候就需要使用字节对齐这个概念。不同的编译器的处理方法不一样。

这里小结一下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的定义方法

标签:实现   编译器   常用   概念   解析   对齐   方法   修改   不同   

原文地址:http://www.cnblogs.com/linux-farmer/p/7152866.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!