One option might be to put your definitions in a separate file
funcs.def :
FUN_DEFINE(f1) { printf("f1\n"); } FUN_DEFINE(f2) { printf("f2\n"); } FUN_DEFINE(f3) { printf("f3\n"); }
then in a different source file do something like
#define FUN_DEFINE(name) static bool name(void) #include "funcs.def" #undef FUN_DEFINE void global_fun(void) { #define FUN_DEFINE(name) name(); #include "funcs.def" #undef FUN_DEFINE }
There is a name for this approach, but I canβt remember it.
source share