我想创建一个C宏,它创建一个名称基于行号的函数.我以为我可以做类似的事情(真正的函数会在括号内有声明):
#define UNIQUE static void Unique_##__LINE__(void) {}
Run Code Online (Sandbox Code Playgroud)
我希望将扩展到以下内容:
static void Unique_23(void) {}
Run Code Online (Sandbox Code Playgroud)
这不起作用.使用令牌连接,定位宏按字面处理,最终扩展为:
static void Unique___LINE__(void) {}
Run Code Online (Sandbox Code Playgroud)
这可能吗?
(是的,无论这看起来多么无用,我都有一个真正的理由要这样做).