VC에서의 데이터 크기??
글쓴이: hie / 작성시간: 화, 2006/11/07 - 9:38오전
처음으로 VC를 이용해서 작업을 하게 되었습니다.
항상 쓰던데로 작업을 진행했는데.. 결과가 황당하네요.
하단의 코드를 컴파일해서 실행시키면 GCC는 그 크기를 4로 나타냅니다.
그런데.. VC에서는 그렇지 않군요.. 컴파일러 옵션을 주어야 할 듯 한데..
모르겠습니다. 고수님들의 고견을 듣고 싶습니다.
#include<stdio.h> #pragma pack(1) typedef struct s_test { unsigned long item_a:24; unsigned char item_b; } test_s; #pragma pack() int main() { test_s test; printf( "\n Size( pack : test ) = %d", sizeof(test) ); return( 0 ); }
Forums:
굳이 #pragma pack(1)
굳이 #pragma pack(1) 옵션을 쓰셔야 한다면 얘기가 다르겠습니다만...
위의 코드는 32비트를 24비트와 8비트의 비트 필드로 나눌 목적으로 쓰이는 것 같습니다. 그렇다면 차라리 완전한 비트 필드 선언을 해주시는 편이 나을 듯 합니다.
댓글 달기