带参数的宏替换

Posted 立体风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带参数的宏替换相关的知识,希望对你有一定的参考价值。

带参数的宏替换因各种需求叠加,替换规则很怪异:

1、首先将实参替换形参,并展开宏

2、如果1步展开后,有#或者##,那么停止替换。

3、如果1步展开后,没有#或者##,且参数也是宏,那么继续替换,知道参数没有宏为止。

4、执行完1-3后,第一轮替换结束,再次扫描宏,如果外层还有宏,继续替换。

5、简单说:先用实参代替形参,然后继续替换实参内的宏,发现#或##后停止。

以上是关于带参数的宏替换的主要内容,如果未能解决你的问题,请参考以下文章

C语言带参数的宏定义:定义宏名时可以不写出参数???

高分求助VC中关于不定参数宏的使用

帮忙看下这个带参的宏定义,看不懂?

C语言中带参数的宏

宏定义

c语言的宏定义