gpt4 book ai didi

c - 数据对齐全局变量

转载 作者:太空宇宙 更新时间:2023-11-04 02:03:56 25 4
gpt4 key购买 nike

我显然遗漏了一些明显的东西,但我很困惑:

我有一个源文件,我在其中声明了我所有的全局变量,还有一个匹配并使它们全部成为外部变量的头文件。但是,当我尝试使用我的 IDE (IAR) 提供的 pragma 对那里的变量进行数据对齐时,它不起作用。它将变量放置在类似 0x20027424 的地址。如果我将变量移动到本地,它工作正常;地址以0结尾。

我错过了什么?

来自Vars.c:

#pragma data_alignment=4
u16 g_uCompChk;

来自Vars.h:

#pragma data_alignment=4
extern u16 g_uCompChk;

最佳答案

data_alignment = expression

应该以字节为单位给出对齐方式,而不是对象大小的倍数。所以 4 字节边界上的对齐是可以预期的。根据您提供的示例地址,似乎一切正常

关于c - 数据对齐全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22990061/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com