首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >堆栈变量是否由GCC对齐((__attribute__(X)?

堆栈变量是否由GCC对齐((__attribute__(X)?
EN

Stack Overflow用户
提问于 2009-05-08 19:34:55
回答 1查看 78.8K关注 0票数 88

我有以下代码:

代码语言:javascript
复制
#include <stdio.h>

int
main(void)
{
        float a[4] __attribute__((aligned(0x1000))) = {1.0, 2.0, 3.0, 4.0};
        printf("%p %p %p %p\n", &a[0], &a[1], &a[2], &a[3]);
}

我有以下输出:

代码语言:javascript
复制
0x7fffbfcd2da0 0x7fffbfcd2da4 0x7fffbfcd2da8 0x7fffbfcd2dac

为什么a[0]的地址不是0x1000的倍数

__attribute__((aligned(x)))到底做了什么?我误解了this的解释?

我用的是gcc 4.1.2。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/841433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档