多くのコマンド ライン オプションを備えたコードベースがあります。現在、各コマンド ライン オプションは、コマンドがコマンド ラインで渡された場合に実行される関数ポインタと共にテーブルに存在します。
例えば
static CommandFunction s_Commands[] =
{
{ "command1", Func1 },
{ "command2", Func2 },
{ "command3", Func3 },
etc...
};
これに関する私の問題は、テーブルが巨大で、関数が別の場所にあることです。コマンドの文字列は、各関数のすぐ横に配置することをお勧めします。
たとえば、次のようになります。
COMMAND_ARG("command1")
void Func1()
{
dostuff
...
}
COMMAND_ARG("command2")
void Func2()
{
dostuff
...
}
COMMAND_ARG("command3")
void Func3()
{
dostuff
...
}
これは可能ですか?