Cプリプロセッサにマクロを生成してもらいたいのですが (つまり、C99 だけを使用しています)。マクロを書きます
#define make_macro(in) <...magic here...>
そして私が置くとき
make_macro(name1)
make_macro(name2)
コードの後半では、次のように展開されます。
#define name1(...) name1_fn(name1_info, __VA_ARGS__)
#define name2(...) name2_fn(name2_info, __VA_ARGS__)
そして、name1 と name2 を (マクロ実装された) 関数として使用できるようになります。私は両方のステップでマクロを使用して立ち往生していると思います.テンプレートを繰り返し再入力するためにマクロを使用することは理にかなっています.マクロを使用しない限り、可変引数の処理は機能しません.
では、これを行うために <...magic here...> プレースホルダーには何が入りますか? この時点で、私は C99 では不可能であると信じ始めていますが、構文の詳細が欠けている可能性があります。