|
#pragma pack(1)
typedef struct tagWorkAck{
:
}tagWOKRACK;
하시면 이후 부터는 이 타입으로 선언된 모든 구조체 변수는 1 바잍트 단위로 얼라인 됩니다.
저도 이것 땜시 고생을 좀 해서리
물론 위의 숫자를 바꾸시면 그 숫자만큼 어라인이 됩니다.
msdn에 있더군요. ^^
최남영 님이 쓰신 글 :
: 통신으로 받은 데이타를 구조체로 받아서 데이트럴 뽈을려하는데 중간에 한바이트가 사라집니다.
: 데이타 얼라이먼트를 byte로 설정해야 할 것 같은데
: 2009에서 project->option->Delphi compiler->Record field alignment를 byte하였습니다.
: 그런데 결과는 똑같구요...
: 설정하는 방법이 있을까요??
:
:
: typedef struct tagWorkAck{
: BYTE ReceiverObj;
: BYTE TransferObj;
: BYTE CmdCode;
: BYTE DataTagSize;
:
: BYTE SubCmdCode;
: BYTE SubLenth;
:
: BYTE BlockSize;
: WORD Address; =>여기 한바이트가 앞으로 밀려 사라짐
: WORD YY;
: BYTE MM,DD,Hh,Mm,Ss;
: CHAR User[8], Repairs[60];
: }tagWOKRACK;
|