ANonymousOld070925

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ anonymous ] in KIDS
글 쓴 이(By): 아무개 (Who Knows ?)
날 짜 (Date): 2002년 8월 29일 목요일 오전 10시 36분 06초
제 목(Title): Re: [Q] C언어 구조체 공용체 크기 이상?


이상이 있는건 아닙니다.

그 싸이즈는 컴파일러를 어떻게 구현하느냐에 따라서 각각 다르게

나옮니다.. 그치만 다 그놈이 그놈이고 그머리가 그머리라서

다른 컴파일러라고 해도 비슷한 점이 훨씬 많은 것이죠.

보통 구조체의 메모리를 할당할때, built in type 멤버중에서

젤 큰놈을 align 기준으로 삼습니다. 거기에 작은 놈들을 끼워 맞추죠.

그리고 가장 작은 할당 단위는 프로그램언어상 1 byte인데

하드웨어 메모리 align 상으로 볼땐 보통 4 bytes입니다.

1바이트짜리 멤버 4개를 4 bytes에 한번에 구겨넣으면 하드웨어 동작시

속도가 느려집니다. 그래서 그냥 char 타입도 4바이트로 잡는

컴파일러가 많습니다. 속도를 우선시 한 것이죠.

그런데 메모리를 작게하는게 아주 중요하다 고 하면..

구조체 메모리를 최대한도로 패킹해서 할당해주는 컴파일러도 있습니다.

컴파일 옵션으로 그렇게 할 수도 있구요.. 아님 매크로 같은걸

넣어서 그렇게 하기도 하는것 같습니다만 아쉽게도 제가 기억이

가물가물해서 확정적으로 말씀드리지는 못하겠네요.

[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.