预处理
预定义宏
名称 | 描述 |
---|---|
DATE | 当前日期,一个以 “MMM DD YYYY” 格式表示的字符常量。 |
TIME | 当前时间,一个以 “HH:MM:SS” 格式表示的字符常量。 |
FILE | 这会包含当前文件名,一个字符串常量。 |
LINE | 这会包含当前行号,一个十进制常量。 |
STDC | 当编译器以 ANSI 标准编译时,则定义为 1。 |
预处理器运算符
名称 | 运算符 | 描述 |
---|---|---|
宏延续 | \ | 一个宏通常写在一个单行上。但是如果宏太长,一个单行容纳不下,则使用宏延续运算符 |
字符串常量化 | # | 在宏定义中,当需要把一个宏的参数转换为字符串常量时,则使用字符串常量化运算符 |
标记粘贴 | ## | 宏定义内的标记粘贴运算符,会合并左右两个参数 |
预处理器指令
TEXT
1
2
3
4
5
6
7
8
9
10
11
#define 定义宏
#include 包含一个源代码文件
#undef 取消已定义的宏
#ifdef 如果宏已经定义,则返回真
#ifndef 如果宏没有定义,则返回真
#if 如果给定条件为真,则编译下面代码
#else #if 的替代方案
#elif 如果前面的 #if 给定条件不为真,当前条件为真,则编译下面代码
#endif 结束一个 #if……#else 条件编译块
#error 当遇到标准错误时,输出错误消息
#pragma 使用标准化方法,向编译器发布特殊的命令到编译器中