valuable attribute (align) 할당 후 크기 확인법
글쓴이: cefm / 작성시간: 금, 2012/02/03 - 12:47오전
attribute align 예제를 보면 다음과 같은 예제가 있습니다.
int x __attribute__ ((aligned (16))) = 0;
그래서 아래와 같이 코딩을 했는데 결과가 이상해서요
int main()
{
int x __attribute__ ((aligned (16))) = 0;
printf("%d\n",sizeof(x));
return 0;
}
gcc -o pro pro.c
./pro
4
결과가 16이 나올거라고 생각했는데 4가 나오는 걸 보면 attribute 가 안먹은걸까요?
아니면 제가 잘못생각하고 있는 걸까요?
많은 조언 부탁드립니다.
Forums:
attribute align은.....
attribute align은 제가 알기론 메모리 주소를 x에 align 해준다는 말아닌가요?
printf("%d\n", &x) 를 찍어 보시면 16의 배수로 나오는 방법으로 확인을 해야할 듯 합니다.
attribute align
제가 초보다 보니 어떤 기능인지 오해가 있었습니다.
답변 감사드립니다.
댓글 달기