预处理
预处理主要将源程序中的宏定义指令、条件编译指令、头文件包含指令以及特殊符号完成相应的替换工作。
预处理指令
预处理器的主要作用就是把通过预处理的内建功能对一个资源进行等价替换,最常见的预处理有:文件包含,条件编译、布局控制和宏替换4种。
功能分类 | 指令 | 说明 |
---|---|---|
文件包含 | #include | 引用其它的头文件 |
条件编译 | #if | 如果表达式为真,则执行下面的语句 |
#ifndef | 如果未定义该宏,则执行下面的语句 | |
#ifdef | 如果定义了该宏,则执行下面的语句 | |
#else | 可以作为#ifdef、#ifndef、#if和#elif的组合选项,否则执行 | |
#elif | 可以作为#if和#else的组合选项,又或者*表达式为真则执行 | |
#endif | 结束条件编译 | |
#undef | 取消该宏定义 | |
布局控制 | #progma | 为编译程序提供非常规的控制流信息 |
宏替换 | #define | 这是最常见的用法,它可以定义符号常量、函数功能、重新命名、字符串的拼接等各种功能 |