【发布时间】:2020-02-21 15:49:46
【问题描述】:
有没有办法像我愿意用这种语法做的事情:
#define WRAP_MY_FUNCTION(x){Y} void x(int integer){printf("begin\n"); Y ; printf("end\n");}
所以我可以拥有这个
WRAP_MY_FUNCTION(Foo){printf("hello world\n");}
相当于
void Foo(int integer)
{
printf("begin\n");
printf("hello world\n");
printf("end\n");
}
输出
begin
hello world
end
注意:我希望在括号中包含函数代码,以便最终用户理解这是一个代码块。
【问题讨论】:
-
用你的语法是不可能的。你有什么理由不做
#define WRAP_MY_FUNCTION(x, Y) ...吗? -
因为我想要括号,以便最终用户理解它的功能块,但无论如何,如果不可能(X,Y)可能没问题
标签: c macros c-preprocessor