関数定義を含む C ファイルがあります。
#ifdef SOMEFEATURE
myfunction_withfeature()
#else
myfunction_withoutfeature()
#endif
{
do_something;
#ifdef SOMEFEATURE
do_one_way;
#else
do_another_way;
#endif
do_something_else;
}
ヘッダーまたは Makefile で SOMEFEATURE を定義すると、1 つのバージョンが取得されます。そうでない場合は、別のバージョンが取得されます。必要なのは 2 つのバージョンです。コードをコピーして貼り付け、シンボルを定義/定義解除できることは理解していますが、それは面倒です。コードを複製せずに両方の関数を定義する方法はありますか?