ADS ADS1.2 内存字节对齐
2008-05-01 23:57
701 查看
在ADS环境下,有“ALIGN” 、“__align(x)” 、“__packed”关键字用于字节对齐处理。ALIGN用于汇编语言,__align(x)用于C语言,__packed用于不使用字节对齐。
预编译指令 #pragma pack(X)不行
可以
直接在定义前用type qualifier __align()
eg:
__align(4) struct{
int i;
char c;
};
4字节对齐,占8字节。
__pack关键字反而是"打包"的意思,表示不使用字节对齐
__packed struct{
int i;
char c;
};
仅占5字节
情参考下边文章
http://blog.21ic.com/user1/516/33973.html
http://hi.baidu.com/%CE%F7204/blog/item/0bc9e10326dea2ed08fa9308.html
http://blog.csdn.net/panqihe/archive/2007/10/13/1822807.aspx
预编译指令 #pragma pack(X)不行
可以
直接在定义前用type qualifier __align()
eg:
__align(4) struct{
int i;
char c;
};
4字节对齐,占8字节。
__pack关键字反而是"打包"的意思,表示不使用字节对齐
__packed struct{
int i;
char c;
};
仅占5字节
情参考下边文章
http://blog.21ic.com/user1/516/33973.html
http://hi.baidu.com/%CE%F7204/blog/item/0bc9e10326dea2ed08fa9308.html
http://blog.csdn.net/panqihe/archive/2007/10/13/1822807.aspx