行番号に基づいた名前の関数を作成する C マクロを作成したいと考えています。私は次のようなことができると思いました(実際の関数には中括弧内にステートメントがあります):
#define UNIQUE static void Unique_##__LINE__(void) {}
私が望んでいたのは、次のようなものに拡張されることです。
static void Unique_23(void) {}
それはうまくいきません。トークン連結では、位置決めマクロは文字どおりに扱われ、最終的に次のように展開されます。
static void Unique___LINE__(void) {}
これは可能ですか?