你能嵌入#ifdef和#endif吗?
例如:
#ifdef B
run1();
#ifdef C
run2();
#endif
#endif
只有在定义了B和C时才会出现所需的结果run2()
答案 0 :(得分:2)
是的,你可以。
See the official GCC documentation for details
条件内的受控文本可以包括预处理指令。只有条件成功时才执行它们。 您可以在其他条件组中嵌套条件组,但它们必须完全嵌套。换句话说,'#endif'总是匹配最近的'#ifdef'(或'#ifndef'或'#if')。此外,您无法在一个文件中启动条件组,而在另一个文件中将其结束。