相关环境: IDE: ARM DS5 Version: 2019.1 Build: 201910912问题: 使用armclang集成的assembler汇编器时,由于数据结构使用C语言定义,但是在汇编文件中希望访问C文件定义的成员变量的偏移 1. 场景如下: 2. C语言头文件实例如下: typedef struct _cdemo_t { unsigned int x; int buf[16] unsigned int y; }cdemo_t;
struct _cdemo_t cdemo_var={0}; 3. C中获取结构成员的偏移可使用offsetof()获取结构体成员的位置偏移,例如 #define offsetof(s, m) (size_t)&(((s *)0)->m) #define CDEMO_X_OFFSET offsetof(struct _cdemo_t,x) #define CDEMO_Y_OFFSET offsetof(struct _cdemo_t,x) 4.在汇编中,armclang的汇编器不认识offsetof宏,有什么办法解决吗? 通过如下定义绝对地址偏移非常麻烦,在C修改结构成员时还得手工修改 #define CDEMO_X_OFFSET_ASM (0) #define CDEMO_buf_OFFSET_ASM (4) ....请教各位!