我一直在使用ARM代码的Sourcery(臂无 - EABI - 海合会)(我想精简版版)我的代码编译。
我定义一个函数内部结构变量,做像的memcpy
typedef struct {
char src[6];
char dst[6];
uint16_t a;
uint16_t b;
uint32_t c;
uint16_t d;
} Info_t;
Info_t Info;
memcpy(Info.src, src, sizeof(Info.src));
memcpy(Info.dst, dst, sizeof(Info.dst));
第一memcpy的经历,但第二个是导致中止。
我听说GCC优化的memcpy,并导致一个非对齐结构接取?
我试过结构变量对准一个单词边界等,但没有奏效。
任何人都可以给gcc和对齐问题的memcpy的更多细节。
谢谢!