我有以下函数调用:
((int(*)(const char *format, ...))0x0000ab8c)(format, p2)
和
int printf2(const char *format, ...)(format, p2)
我有时使用第一个函数,有时使用第二个函数,因此想要定义一个定义两个函数但根据布尔定义选择其中一个定义的宏
#ifdef FIRST
#define print_function(format, ...) ((int(*)(const char *format, ...))0x0000ab8c)(format, __VA_ARGS__)
#else
#define print_function(format, ...) printf2(format, __VA_ARGS__)
#endif
此外,我想将这些函数作为参数传递给另一个函数。有没有可以在这里工作的通用解决方案?