我正在使用 ARM。由于奇数偏移的读/写导致对齐错误(我们知道 ARM 是 4 字节对齐的)。我的程序中定义的所有结构都是单字节对齐的
#pragma pack(push, 1)
typedef struct
{
char a1;
int a2;
char a3;
}a;
#pragma pack(pop)
我正在尝试做
#pragma pack(push, 1)
typedef struct
{
char a1 __attribute__ ((aligned (4)));
int a2;
char a3;
}a;
#pragma pack(pop)
gcc 属性_属性_ ((aligned (4)))无效。
Note :: The above code is not my actual code. sample scenario.
所以我重新安排了结构成员来解决对齐问题。我想确保重新安排是否是可能的解决方案,或者我们可以让_属性_在这种情况下工作。欢迎任何其他解决方案。提前致谢。