Mic*_*bak 29 c++ newline g++ c-preprocessor
在gcc/g ++ 4.*中是否有一种方法可以编写一个扩展为多行的宏?
以下代码:
#define A X \ Y
Run Code Online (Sandbox Code Playgroud)
扩展到
X Y
Run Code Online (Sandbox Code Playgroud)
我需要一个宏扩展到
X
Y
Run Code Online (Sandbox Code Playgroud)
Pot*_*ter 22
得到它了!
#define anlb /*
*/ A /*
*/ B
anlb anlb
Run Code Online (Sandbox Code Playgroud)
gcc -E -CC nl.c
Run Code Online (Sandbox Code Playgroud)
/*
*/ A /*
*/ B /*
*/ A /*
*/ B
Run Code Online (Sandbox Code Playgroud)
小智 8
例如,让宏生成一个特殊的标记,__CR__然后将CPP的结果传递到一个脚本中,该脚本将宏转换为真正的换行符,例如sed 's/__CR__/\n/g'.
我发现这对生成一个手工填充的代码模式非常有用.代码可读时更容易.
Jag*_*ath -5
这是你想要的吗:
#define A "X \nY"
Run Code Online (Sandbox Code Playgroud)