Ich möchte den C Präprozessor bekommen, um Makros für mich zu erzeugen (d. H. Ich benutze nur C99). Ich hätte gerne ein MakroMakro-produzierende Makros in C?
#define make_macro(in) <...magic here...>
schreiben und wenn ich
setzenmake_macro(name1)
make_macro(name2)
später im Code, würde es
#define name1(...) name1_fn(name1_info, __VA_ARGS__)
#define name2(...) name2_fn(name2_info, __VA_ARGS__)
erweitern und ich würde dann in der Lage sein name1 zu verwenden und name2 als (Makro-implementierte) Funktionen. Ich denke, dass ich in beiden Schritten Makros verwende: Es macht Sinn, ein Makro zu verwenden, um eine Vorlage wiederholt zu füllen, und die variadische Argumentbehandlung funktioniert nur über ein Makro.
Also was geht in die < ... Magie hier ...> Platzhalter, um dies zu tun? An diesem Punkt beginne ich zu glauben, dass es in C99 nicht möglich ist, aber vielleicht fehlen mir einige Details der Syntax.
Warum ein Makro? Ich bekomme dies nicht, um eine Vorlage "wiederholt zu füllen". Welche Vorlage und welche Nachfüllung? –