글쓴이: 익명 사용자 / 작성시간: 월, 2001/11/05 - 10:50오전
안녕하세요 ? gcc, g++ 컴파일 옵션을 알고 싶슴다.
스트럭쳐의 기본 사이즈를 1 byte 단위로 하고 싶거든요 ?
무슨옵션을 붙여야 하는건가요 ????
기본적으로 컴파일해서 스트렉쳐를 sizeof해서 읽으면 4바이트라고
나오거든요
typedef struct aa {
char aa;
};
printf("%d", sizeof(aa));
이렇게 하면 4바이트로 나오는데, 1바이트로 나올수 있게 할수 없나요 ?
두가지 방법 정도를 알고 있습니다.
1. gcc 에 --pack-struct 를 쓰는 방법
2. 소스에 __attribute__((packed)) 를 쓰는 방법
struct A {
char a;
short b;
} __attribute__((packed));
3바이트
하지만, 구조체를 강제로 pack 시키는 건 실행 효율에 좋은
영향을 주지 못합니다. (나쁜 영향을 줍니다.)
댓글 달기