본문 바로가기
Research/SystemProg

왜 arm-linux-gcc에서는 #pragma pack이 안될까? (출처:www.kelp.or.kr)

by sunnyan 2004. 6. 13.
728x90
글쓴이 : 유영창 (2001년 11월 23일 오후 12:23) 읽은수: 802 [ 임베디드강좌/유영창  ]  
통신 프로그램을 작성하다보면
생기는 오류중에서

struct의 크기 때문에 고생하게 된다.

왜?

struct A
{
char a;
};

이것의 크기는 4로 잡히기 때문이다.

크기를 1로 잡으려면

이렇게 하면 된다.

#pragma pack(1)
struct A
{
char a;
};
#pragma pack()

하지만 arm-linux-gcc에서는 이것이 먹지 않는다.

어떻게 해야 할까?

이렇게 하면 된다.

struct A
{
char a;
} __attribute__ ((packed));


PS : 이지보드에 bootp를 구현하다가.....

728x90