{% markmap %}
第14章 预处理器
预处理指令
- 宏定义
#define
- 带参数的宏
#
运算符#
运算符将宏的一个参数转换为字符串字面量。它仅允许出现在带参数的宏的替换列表中。
##
运算符##
运算符可以将两个记号(如标识符)“粘合”在一起,成为一个记号。
- 删除宏定义
#undef
- 预定义宏
__DATE__
宏和__TIME__
宏指明程序编译的时间__LINE__
宏和__FILE__
宏来看文件和行号assert
宏用来报错__func__
标识符- 用来标注函数被调用
- 文件包含
#include
- 条件编译
#if
、#ifdef
、#ifndef
、#elif
、#else
和#endif
指令defined
运算符- 用来判断是否有这个宏定义
- 搭配编译的时候的
-D
就可以选择编译部分代码
- 其他
#error
- 遇到#error指令预示着程序中出现了严重的错误,有些编译器会立即终止编译而不再检查其他错误。
line
#program