预处理器
文件包含
# include <xxx.h>
# include "xxx.h"
这二者有什么区别?
前者一般在 C++ 目录下寻找头文件,后者在 C 目录下寻找
条件编译
#ifdef, #else, #endif
若 标识符 已被定义,则运行 program1 否则运行 program2
C
#ifdef 标识符
program1
#else
program2
#endif#ifndef, #else, #endif
若 标识符 未被定义,则运行 program1 否则运行 program2
C
#ifndef 标识符
program1
#else
program2
#endif#if, #else, #endif
若 表达式 成立,则运行 program1 否则运行 program2
C
#ifndef 表达式
program1
#else
program2
#endifundef
将已定义的 标识符 变为未定义
C
#undef 标识符# pragma 命令
#pragma token-string 其中 token-string 有多种。用于指示编译器如何编译。
自行查询使用
# line 命令
# line number "file_name"
编译器显示错误信息时 改变行号 number 和文件名 file_name