如何在堆栈中分配整数数组为32位对齐

时间:2014-02-13 19:28:14

标签: c linux

我需要在我的函数中在堆栈中分配一个整数数组,如何将它与32位对齐?

void f1() {
    uint8_t slope[4*32];
}

我在linux上运行。

1 个答案:

答案 0 :(得分:0)

这应该适用于大多数(所有?)体系结构,并且不需要特定于编译器的技术,但我承认不确定此声明对本地/全局/文件范围的影响。

void f1(void)
{
    union
    {
        uint32_t align;
        uint8_t  arr[4*32];
    }   slope;

    /* can now be access via slope.arr[] */
}