我需要在函数中的堆栈中分配一个整数数组,如何使其 32 位对齐?
void f1() {
uint8_t slope[4*32];
}
我在Linux上运行。
最佳答案
这应该适用于大多数(所有?)体系结构,并且不需要特定于编译器的技术,尽管我承认不确定此声明对于本地与全局/文件范围的含义是什么。
void f1(void)
{
union
{
uint32_t align;
uint8_t arr[4*32];
} slope;
/* can now be access via slope.arr[] */
}
关于c - 如何将堆栈中的整数数组分配为 32 位对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21763741/