just nu har jag ett macro som kontrollerar storleken på en variabel
Kod: Markera allt
#define VAR_SIZE_SHOULD_MATCH( tempName, var, expSize) \
typedef struct { uint8_t wrongSize[ sizeof(var) == expSize ? 1:-1 ];}tempName;
typedef enum _MotorOptionsSelector_t
{
MOTOR_OPTIONS_DEFAULT = 0,
MOTOR_OPTIONS_1 = 1,
MOTOR_OPTIONS_2 = 2,
}MotorOptionsSelector_t; // 1 byte
VAR_SIZE_SHOULD_MATCH( MotorOptionsSelector_tErr, MotorOptionsSelector_t, 1 );
jag skulle vilja att man bara hade 2 parametrar , variabelnamn och förväntad storlek.
skulle det gå att göra ett makro som omvandrar t.ex varName => varName_err ?
har kikat lite på #define VARNAME_TO_STR( var ) #var
men har inte lyckats lätta på t.ex en endelse på min variabel
någon som vet hur man gör?