在编译前,由编译器执行,预处理结果作为编译器的输入。
主要功能:
1、把其他文件包含到当前文件
2、定义符号常量和宏
3、程序代码的条件编译以及预处理指令的条件执行。
预处理指令包括:
#include
#define
#error
#if
#else
#elif
#endif
#ifdef
#ifndef
#undef
#line
#pragma
用法
1、#include指令
作用:指示编译器将该指令所指出的另一个源文件嵌入该指令所在的程序中。
文件名使用尖括号:在指定目录中寻找被包括的文件
文件名使用双引号:在被编译的程序所在目录中寻找被包括的文件
#include <stdio.h>
#include "fileoperator.h"
2、#define指令
定义符号常量或宏,一般形式为:
#define 符号常量标识符 字符串
#define 宏标识符 字符串
程序中的宏标识符在编译前只是被完全的文本替代。
#define COUT(x) std::cout<<x
#define PI 3.1415926
3、条件编译
条件编译指令将决定那些代码被编译,而那些不被编译的。
可以根据表达式的值或者某个特定的宏是否被定义来确定编译条件
#ifdef Q_OS_WIN
#include <windows.h>
#endif
#ifdef Q_OS_UNIX
ret += 1;
return ret;
#endif