硬汉嵌入式论坛

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

常量字符串地址如何4字节对齐?

[复制链接]

21

主题

61

回帖

124

积分

初级会员

积分
124
发表于 2023-3-28 09:36:30 | 显示全部楼层 |阅读模式
MDK 定义如下字符串:
__ALIGNED(4) const unsigned long * const k = (unsigned long *)"abcdefghijklmnop";
发现 k的值并不是4字节对齐的,导致访问k[0],k[1]时进hardfault 对齐错误中断,如何将字符串地址强制4字节对齐?pack关键词也尝试过了,也不行。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106614
QQ
发表于 2023-3-28 10:39:40 | 显示全部楼层


测试了下,这么写即可

__align(4) char const k[] = {"abcdefghijklmnop"};
回复

使用道具 举报

21

主题

61

回帖

124

积分

初级会员

积分
124
 楼主| 发表于 2023-3-28 11:58:26 | 显示全部楼层
eric2013 发表于 2023-3-28 10:39
测试了下,这么写即可

__align(4) char const k[] = {"abcdefghijklmnop"};

好的,谢谢版主!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-26 12:29 , Processed in 0.149739 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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