https://www.jb51.cc/csharp/1192814.html

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ac2e2c00-9727-4cce-9929-94f6e5480f90/bb3998b29e77f8f068eec2c9d71e6b22.jpg

c程序中宏展开是在什么时候进行的?

宏展开是在预处理阶段进行的。

C程序由源程序变为可执行文件的三个阶段是:

预处理阶段,由预处理器对程序文本中的宏进行展开。

编译阶段,由编译器对经过预处理后的程序进行编译,并生成目标文件

因此,宏展开是在预处理阶段完成的。

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/30c1ee4b-ba82-4386-9349-1484f6e6fd11/4b910294cad8873a0e7fb828d62b3df5.png

扩展资料:

宏定义

宏定义是C提供的三种预处理功能之一:宏定义、文件包含和条件编译

无参数宏定义:

宏观定义又称宏观替代,宏观替代,简称“宏观”。

格式:#定义标识符字符串

标识符称为符号常量,也称为“宏名称”。

预处理(预编译)也称为宏展开:用字符串替换宏名。

掌握宏概念的关键是替换。一切都以改变为前提,做任何事之前都要改变,准确理解“改变”的必要性。

复杂的如下所示。下面的宏定义带有参数,多行宏定义,在Linux内核源代码中有很多。