J'ai un code existant qui utilise un enum
au lieu d'un pointeur de fonction pour les rappels. Le rappel est appelé à l'aide d'une table: callback_table[enum]
.Renommer la variable dans le préprocesseur C
Les énumérations sont nommées avec un enum_ prefix
et la fonction correspondante est nommée avec un func_ prefix
.
Ainsi, les appels de fonction impliquant callbacks ressembler à ceci:
foo (param, enum_name);
Alors que le code de navigation, je dois prendre la partie du nom et le préfixe func_ au lieu de faire juste un « saut à la définition ».
Je voudrais avoir une macro de sorte que mon code ressemble à ceci:
foo (param, f2e(func_name));
pour que je puisse garder le code existant inchangé et toujours en mesure de faire un « Aller à la définition ».
Est-il possible d'avoir une telle macro? La solution la plus simple serait d'omettre func_
ce qui signifie que f2e simple attache le enum_ prefix
, mais je préférerais une solution où je peux encore avoir func_
. Est-ce possible?