マクロ展開内のマクロの名前を文字列として使用したい。
例:
#define DEBUG_TEST(a, ...) printf("DEBUG_TEST::%s (%d) : " a, __FUNCTION__, __LINE__, ##__VA_ARGS__)
エクスパンションで「DEBUG_TEST」をもう必要としないものに変更したいが、次のようなもの:
#define DEBUG_TEST(a, ...) printf(__MACRO__ "::%s (%d) : " a, __FUNCTION__, __LINE__, ##__VA_ARGS__)
もちろん、私の例では__ MACRO __は存在しません...