bak*_*kra 0 macros preprocessor loops
for(x;x<crap;x++)
{
macro(x,y);
}
Run Code Online (Sandbox Code Playgroud)
预处理器如何处理?这个循环是展开还是别的?
在编译代码之前扩展宏 - 无论是在循环中还是在其他任何地方都无关紧要.
#define macro(x, y) doSomething(x, y)
for(x;x<crap;x++){
macro(x,y);
}
Run Code Online (Sandbox Code Playgroud)
将扩展到:
for(x;x<crap;x++){
doSomething(x,y);
}
Run Code Online (Sandbox Code Playgroud)
周围环境macro(x,y)
对预处理器如何扩展它没有影响.
(预处理器甚至不知道你正在使用什么编程语言 - 它可能是C,Python,Brainfuck或给你的银行经理的一封信,它会以同样的方式扩展宏.)