У меня есть код, который использует enum
вместо указателя функции для обратных вызовов. Обратный вызов вызывается с использованием таблицы: callback_table[enum]
.Переименовать переменную в препроцессоре C
Перечисления называются с номером enum_ prefix
, и соответствующая функция имеет имя func_ prefix
.
Таким образом, вызовы функций с участием обратных вызовов выглядит следующим образом:
foo (param, enum_name);
При просмотре кода я должен взять на себя имя части и префикс func_ вместо просто делает «Перейти к определению».
Я хотел бы иметь макрос так, что мой код выглядит следующим образом:
foo (param, f2e(func_name));
так, что я могу сохранить существующий код без изменений и по-прежнему быть в состоянии сделать «Перейти к определению».
Возможно ли иметь такой макрос? Простейшим решением было бы исключить func_
, что означает, что f2e просто присоединяет enum_ prefix
, но я предпочел бы решение, в котором у меня все еще может быть func_
. Это возможно?