宏
关于C语言中的宏,有许多高级用法,这在项目开发中可以起到事半功倍的效果
宏定义
1 |
这里是定义一个静态的宏
当我们在代码中引用到 MAX_LINE
这个宏时,它的值就为 \(5000\),相当于一个替换作用,这个替换是发生在预编译阶段,这里介绍一下代码的编译运行过程:
预处理 \(\longrightarrow\) 编译 \(\longrightarrow\) 汇编 \(\longrightarrow\) 链接
宏函数
C语言中,有一些系统自带的宏
__DATE__
:当前编译日期,格式为"MMM DD YYYY",例如"Jan 01 2022"。__TIME__
:当前编译时间,格式为"HH:MM:SS"。__FILE__
:当前源文件名。__LINE__
:当前源代码行号。__FUNCTION__
:当前所在的函数名。__STDC__
:表示是否符合C标准,值为 1 表示符合,否则为 0__cplusplus
:表示是否为C++程序,1 表示符合,否则为 0__VA_ARGS__
:可变参数宏#
:这个可以将传入的参数在预编译过程变为字符串
利用宏的特性,可以定义一些函数,例如
1 | // 利用宏函数来进行 debug |
参考文献
CSDN: https://wenku.csdn.net/answer/d27a1d171fe04bf6a87ccf4648902461