我有一些現有的代碼使用enum
而不是回調函數指針。該回調使用表格調用:callback_table[enum]
。在C預處理器中重命名變量
枚舉以enum_ prefix
命名,相應的函數以func_ prefix
命名。
因此,涉及回調函數調用是這樣的:
foo (param, enum_name);
在瀏覽代碼,我取的名字部分和前綴func_,而不是僅僅做一個「跳轉到」。
我想有一個宏,使我的代碼如下所示:
foo (param, f2e(func_name));
,這樣我可以保持現有的代碼不變,仍然能夠做一個「跳轉到」。
是否有可能有這樣一個宏?最簡單的解決方案是省略func_
這意味着f2e簡單附加enum_ prefix
,但我更喜歡解決方案,我仍然可以有func_
。這可能嗎?