Adresse/offset du champs d'une structure
Bonjour,
J'ai une structure avec des champs de differentes tailles. J'aimerais déclarer des 'defines' définissant l'offset de chacun des champs. Concrètement :
Code:
1 2 3 4 5 6 7 8 9 10
| typedef struct
{
tModbusFrame RequestBuf;
bool FrameReceived;
tModbusStatus ModbusStatus;
byte NbReceiveErrors;
} tModbusPort;
#define MODBUS_STATUS_OFFSET sizeof( tModbusFrame ) + sizeof( bool )
#define NB_ERRORS_OFFSET MODBUS_STATUS_OFFSET + sizeof( tModbusStatus) |
Le but des sizeof est de rendre les offsets independant de la cible (exemple, bool = 8 bits sur µcontrolleur, 16 bits sur pc).
Quelqu'un aurait-il quelque chose de plus simple pour faire mes define (car ma vraie structure a une trentaine de champs...) ?
Merci à tous.
Ludo