在C语言中,#defined预处理指令是在编译之前由预处理器处理的。其执行顺序如下:
预处理器会首先扫描源文件,查找所有的#defined指令,并在内存中创建一个符号表来存储这些宏定义。
当编译器遇到使用宏定义的地方时,会首先在符号表中查找对应的宏定义,并将其替换为相应的代码。
替换是在编译阶段进行的,因此在编译后的目标代码中不会再包含任何宏定义。
总的来说,#defined指令的执行顺序是在预处理阶段进行的,用于定义宏,而在编译阶段则将这些宏进行替换,最终生成目标代码。