2557| 2
|
关于公用体数据结构的问题 |
1金钱
最佳答案在32位的MCU上,4字节对齐访问是比较高效的,如果没有特别指出数据结构对齐的方式,默认是按4字节对齐的,a,b之后是一个结构体,这个时候就会跳到下一个4字节对齐的位置,就是4的位置,所以c在位置4,所以整个结构体是size是264而不是260;
如果想让c在位置2,可以在结构体前后加上
#pragma pack(push) //保存对齐状态
#pragma pack(1)//设定为1字节对齐
struct test
{
.......
};
#pragma pack(pop)//恢复对齐状态
| ||
| ||
机器生汇编,汇编生B,B生C,C生万物.... 经过长期对C语言的研究,目前只有两个方面不懂:这也不懂,那也不懂
https://github.com/ianhom |
||
| ||
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2025-6-6 18:36
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网