You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TI ARM编译器结构体成员未正确对齐问题咨询

TI ARM编译器结构体成员未正确对齐问题咨询

大家好,最近在TI ARM编译器环境下遇到了一个结构体内存对齐的问题,想跟大家请教下:

我定义了如下结构体(这里的bool是unsigned char类型):

typedef struct
{
    bool a;
    int b;
    int c;
} test_t;

当我查看栈上声明的该类型变量的内存布局时,发现成员b并没有正确对齐到4字节边界上,这和预期的对齐规则不符。


编辑补充:
经过排查,我找到了问题根源——是因为代码中引入了FreeRTOS_IP.h头文件,这个文件包含了TI CCS移植所需的pack_struct_start.h和pack_struct_end.h。其中pack_struct_end.h文件的实现有问题,没有正确恢复默认的结构体对齐规则,导致后续所有定义的结构体都一直处于压缩(packed)状态,从而出现了对齐异常。

有没有朋友遇到过类似的问题?或者能给一些修复这个对齐问题的建议?

备注:内容来源于stack exchange,提问作者Machinegon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 14:02:40