Mik*_*ike 40 gcc c-preprocessor
你能用C中的宏做这样的事吗?
#define SUPERMACRO(X,Y) #define X Y
then
SUPERMACRO(A,B) expands to #define A B
Run Code Online (Sandbox Code Playgroud)
我有一种感觉不是因为预处理器只进行了一次.
官方gcc唯一.请不要使用第三方工具.
Whi*_*ind 14
您无法在其他宏中定义宏,但您可以从宏中调用宏,这可以获得基本相同的结果.
#define B(x) do {printf("%d", (x)) }while(0)
#define A(x) B(x)
Run Code Online (Sandbox Code Playgroud)
所以,A(y)扩展到do {printf("%d", (y)) }while(0)
| 归档时间: |
|
| 查看次数: |
26113 次 |
| 最近记录: |