我正在使用内联汇编来在C代码中执行ARM操作。 在C代码中,我用calloc分配内存。该存储块被分成不同的缓冲区,例如:
int * SCRATCH = (int *)calloc(LEN, sizeof(int));
buffer1 = (int *)SCRATCH;
buffer2 = (short *)((int *) buffer1 + sizeof(* buffer1) * LEN_BUF_1);
长度都是已知的。现在我使用
访问这些缓冲区中的值LDRD r4, r4, [r0], #8;
由于内存未正确对齐而导致错误。我如何设置对齐我使用的所有缓冲区以便能够使用双重加载和存储?
谢谢!