硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1479|回复: 3
收起左侧

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

[复制链接]

26

主题

70

回帖

148

积分

初级会员

积分
148
发表于 2023-3-14 09:49:02 | 显示全部楼层 |阅读模式



先上图

微信图片_20230314094300.png


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

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

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106995
QQ
发表于 2023-3-14 11:56:53 | 显示全部楼层
这样就对齐了
分享一种结构体内成员指定对齐的语法
https://www.armbbs.cn/forum.php? ... d=107454&fromuid=58
(出处: 硬汉嵌入式论坛)


QQ截图20230314115640.png
回复

使用道具 举报

0

主题

216

回帖

216

积分

高级会员

积分
216
发表于 2023-3-14 12:19:26 | 显示全部楼层
pack时针对结构体等内部的pad,
align才是变量地址对齐。
回复

使用道具 举报

3

主题

1227

回帖

1236

积分

至尊会员

积分
1236
发表于 2023-3-14 13:32:07 | 显示全部楼层
regbbs 发表于 2023-3-14 12:19
pack时针对结构体等内部的pad,
align才是变量地址对齐。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-13 11:56 , Processed in 0.177945 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表