macro C variabelnamn till sträng
Postat: 27 december 2010, 16:36:04
funderar över hur man kan hantera strängar med macron.
just nu har jag ett macro som kontrollerar storleken på en variabel
som ni ser så tar macrot 3 parametrar, typedef namn, variabel och förväntad storlek.
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?
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?