hjhj7591418 发表于 2023-3-14 09:49:02

关于结构体字节对齐设置的那件事




先上图




程序中有几个结构体嵌套, 全部申明为2字节对齐, 然而仿真的时候发现根本没启用指定的对齐方式, 导致结构体成员基地值出现奇数.

这个问题出现在结构体及其成员全为8位的情况下, 如果结构体成员有非8位参数, 那么结构体基地值就启用了指定的对齐方式.

请教硬汉哥, 这是正常现象吗???我用指针指向里面的结构体成员, 发现是奇地址, 懵了.

eric2013 发表于 2023-3-14 11:56:53

这样就对齐了
分享一种结构体内成员指定对齐的语法
https://www.armbbs.cn/forum.php? ... d=107454&fromuid=58
(出处: 硬汉嵌入式论坛)



regbbs 发表于 2023-3-14 12:19:26

pack时针对结构体等内部的pad,
align才是变量地址对齐。

morning_enr6U 发表于 2023-3-14 13:32:07

regbbs 发表于 2023-3-14 12:19
pack时针对结构体等内部的pad,
align才是变量地址对齐。

{:8:}
页: [1]
查看完整版本: 关于结构体字节对齐设置的那件事