gpt4 book ai didi

memory - 数组未跨越 256 字节边界

转载 作者:行者123 更新时间:2023-12-04 21:51:18 24 4
gpt4 key购买 nike

是否可以创建一个不跨越 256 字节边界的数组?也就是说,各个数组项的地址仅在低字节不同。这是比保持数组对齐到 256 字节更弱的要求。我能想到的唯一解决方案是对齐 next_power_of_two(sizeof(array)) ,但我不确定以这种方式出现的差距。

它是用于 AVR 微 Controller 的库,这将在中断处理程序中为我节省一些宝贵的指令。在库使用的大约 80 字节的总静态内存中,应该具有此属性的数组长度为 54 字节。我正在寻找一种不会增加内存需求的方法。

我使用 avr-as gnu 汇编器和 avr-ld 链接器。

示例:如果数组从地址 0x00f0 开始,那么在遍历数组时,高位字将从 0x00 变为 0x01。

只要不越界,我并不在乎它是从地址 0x0100 还是 0x0101 开始。

最佳答案

您只需要 64 字节对齐即可满足此要求,例如这应该有效:

uint8_t a[54] __attribute__ ((aligned(64)));

关于memory - 数组未跨越 256 字节边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3923390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com