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 : Sélectionner tout - Visualiser dans une fenêtre à part
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