关于MDK下pack的定义方法
2017-04-24 13:53
176 查看
我们使用数据流的过程中经常会用到结构体来进行解析,这个时候就需要使用字节对齐这个概念。不同的编译器的处理方法不一样。
这里小结一下MDK里面常用的几种方法:
1. 最常见的一种
2. 使用__packed struct定义结构体
在结构体的定义中使用关键字,这样实现跨编译器使用的时候会方便很多
这里小结一下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;
相关文章推荐
- 关于asp.net Ajax1.0 错误:'sys'未定义解决方法 (手动配置Ajax 在Web.cofig中)
- 关于Ajax 错误:'sys'未定义解决方法.
- Adobe Edge Animate--关于全局变量和全局方法的定义
- 关于vc6.0使用libxml库编译遇警告warning LNK4049: 已导入本地定义的符号 _xmlFree的解决方法
- 关于setInterval方法中function的定义方法
- 关于在onCreate()方法中定义变量和在方法体外定义变量的区别
- 关于C#代码用F12转到定义时,总是显示从元数据的解决方法
- 关于字符串结束符'\0'、字符串定义方法
- 关于C++中定义比较函数的三种方法小结
- 关于 DataSnap Rest Api 方法的定义
- js中关于对象定义的方法
- 关于C#代码用F12转到定义时,总是显示从元数据的解决方法
- 关于MDK(KELI)下stlink仿真不能实时更新数据的解决方法
- python第二章-2.7 更多关于方法定义
- (转载和原创)关于解决C++“error LNK1169: 找到一个或多个多重定义的符号”的解决方法
- 关于C++中定义对象及对象初始化的方法
- 关于Firefox 调试 easyUI 报jquery tree方法未定义错误
- 关于方法内定义的类引用局部变量需要将变量设置final的问题
- 关于MySQL的存储函数(自定义函数)的定义和使用方法详解
- 关于Ajax 错误:'sys'未定义解决方法.