0

我目前正在使用 Atmel 板(SAM4C ARM Cortex-M4)进行项目,我注意到当我设置“陷阱未对齐字访问”位时,我总是遇到“未对齐访问使用错误”。

经过一番调查,我意识到 malloc 返回未对齐的内存块。所以,我想知道是否有一种方法可以配置 malloc 以便它在对齐指针处分配内存?我知道 memalign 可以解决问题,但是由于我使用 malloc 的地方已经太多了,如果我可以继续使用 malloc 会更简单。

我正在使用库“newLib”。

4

1 回答 1

2

ISO 规范声明malloc()总是返回一个内存地址,该地址适合指向任何适合指定大小的对象的指针。实际上,这通常意味着它应该在 8 字节边界上对齐。

如果不是,那么它是一个不符合标准的实现,应该被打屁股。

话虽如此,如果 newLib 不符合要求,我会非常非常非常惊讶。

于 2015-11-09T21:42:03.237 回答