用于在C中创建关键字的预处理程序指令

问题描述 投票:1回答:1

我想创造这个......

int main(void) {
  int i;

  for(i = 0; i < 10; i++){
    //Not an important Code
  }
  return 0;
}

以更高级的方式,创造疯狂的想法! 是否有可能像这样重写它?

#define A f
#define B or

int main(void) {
  int i;

  AB(i = 0; i < 10; i++){
    //Not an important Code
  }
  return 0;
}

我需要知道是否可以创建类似于由不同#defines组成的简单指令

c compilation macros preprocessor
1个回答
3
投票

制造

#define A f
#define B or
#define C(x, y) x##y
#define D(x,y) C(x,y)

然后

D(A, B)(i = 0; i < 10; i++)

将被改写为

for (i = 0; i < 10; i++)
© www.soinside.com 2019 - 2024. All rights reserved.