c程序中宏展开是在什么时候进行的?
程序员文章站
2022-04-04 08:03:11
...
c程序中宏展开是在什么时候进行的?
宏展开是在预处理阶段进行的。
C程序由源程序变为可执行文件的三个阶段是:
预处理阶段,由预处理器对程序文本中的宏进行展开。
编译阶段,由编译器对经过预处理后的程序进行编译,并生成目标文件
链接阶段,则链接器对目标文件和用到的函数库文件进行链接,生成可执行文件。
因此,宏展开是在预处理阶段完成的。
扩展资料:
宏定义
宏定义是C提供的三种预处理功能之一:宏定义、文件包含和条件编译
无参数宏定义:
宏观定义又称宏观替代,宏观替代,简称“宏观”。
格式:#定义标识符字符串
标识符称为符号常量,也称为“宏名称”。
预处理(预编译)也称为宏展开:用字符串替换宏名。
掌握宏概念的关键是替换。一切都以改变为前提,做任何事之前都要改变,准确理解“改变”的必要性。
复杂的如下所示。下面的宏定义带有参数,多行宏定义,在Linux内核源代码中有很多。
sizeof也是一个宏定义。
推荐教程:《C语言》
以上就是c程序中宏展开是在什么时候进行的?的详细内容,更多请关注其它相关文章!
上一篇: 半平面交 poj 2451
下一篇: JavaScript趣题:丢番图方程
推荐阅读
-
在C#程序中对MessageBox进行定位的方法
-
在c程序中“%”是只能用于整数运算的运算符吗?
-
c程序中宏展开是在什么时候进行的?
-
在windows中各应用程序之间的信息交换是通过什么进行的
-
点和正方形的关系(C++)——在平面坐标系中,有一个正方形,四个角的坐标(x,y)分别是(1,-1),(1,1),(-1,-1),(-1,1),x是横轴,y是纵轴。写一个程序,判断给定的多个点是否在这
-
在windows中各应用程序之间的信息交换是通过什么进行的
-
c程序中宏展开是在什么时候进行的?
-
在c程序中“%”是只能用于整数运算的运算符吗?
-
程序员应了解的那些事(6)C++类中的数据成员能否在定义类的时候就初始化?/类的数组不能使用成员初始化表进行初始化等