CW10.2 Structure Packing issues

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CW10.2 Structure Packing issues

Jump to solution
764 Views
ignisuti
Contributor IV

Can someone please help me explain why sizeof( EVENT_LOG_t ) returns 8? It should be 6, right?

 

Does this have something to do with the way this structure is packed? How can I fix this?

 

My target MCU is Kinetis K10.

 

typedef struct  {  u32 time;  u8 type;  u8 code;}EVENT_LOG_t;
Labels (1)
0 Kudos
Reply
1 Solution
571 Views
stanish
NXP Employee
NXP Employee

Hello ignisuti,

 

You are right. This is caused by adding the padding bytes to keep data alignment. 

If you need to get rid of these padding bytes you can add pragma:

 

#pragma pack(1)

 

 

but this might have an impact on speed performance.

 

Stanish

View solution in original post

0 Kudos
Reply
1 Reply
572 Views
stanish
NXP Employee
NXP Employee

Hello ignisuti,

 

You are right. This is caused by adding the padding bytes to keep data alignment. 

If you need to get rid of these padding bytes you can add pragma:

 

#pragma pack(1)

 

 

but this might have an impact on speed performance.

 

Stanish

0 Kudos
Reply