gcc源码分析与应用教程(4)宏和预处理

本文聚焦于GCC编译器的宏定义与预处理过程,介绍了如何在源码中查找宏相关内容,包括内置宏、宏定义关键字及预处理中的宏展开。通过对gcc源码的分析,阐述了词法分析、预处理指令处理和宏展开的步骤,揭示了宏使用的多态实现。同时,作者表示愿意深入学习写作技巧,并欢迎读者交流讨论。
摘要由CSDN通过智能技术生成

本章继续介绍gcc词法分析,将重点介绍其中的宏定义与展开。
按照惯例,我们首先从源码中找到宏相关的内容,包括宏的关键字,以及c语义内置的宏。
我们在init.c文件中,找到gcc中内置的几种宏定义,来看下面的截图:
在这里插入图片描述
在这里插入图片描述
这些内置宏,具体的功能,我们这里就不去过多的介绍,感兴趣的可以去专门的网站上查询。
下一步,我们找到定义宏的关键字,在文件directives.c中,路径参照上一章截图:
在这里插入图片描述
第三步,是预处理过程中,宏的具体动作实现,也在directives.c,这里截取一部分:

在这里插入图片描述
相关的动作,被装入了一个叫dtable的指针函数数组里面:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值