Hi...
I read the document about SPRU187Q.pdf..
In the PDF #pragma STRUCT_ALIGN( type, expression)...
I made a one stuct type like below
typedef struct RCX_FILE_DOWNLOAD_REQ_DATA_Ttag{ unsigned int ulXferType; unsigned int ulMaxBlockSize; unsigned int ulFileLength; unsigned int ulChannelNo; unsigned short usFileNameLength; } RCX_FILE_DOWNLOAD_REQ_DATA_T;
#pragma STRUCT_ALIGN (RCX_FILE_DOWNLOAD_REQ_DATA_T, 2);
and then...
Sizeof( RCX_FILE_DOWNLOAD_REQ_DATA_T) ==> Value is 20...
I expected it may be the 18...
What's wrong with that..?...
The pragma is ignored because it is less than the required natural alignment of the struct.
The compiler automatically pads structures to a multiple of the alignment, so you get 2 bytes of padding.