预处理器是在真正的编译开始之前由编译器调用的独立程序。预处理器可以删除注释、包含其他文件以及执行宏(宏macro是一段重复文字的简短描写)替代。
#include
包含一个源代码文件,例如:
#include<stdio.h>
#define
定义宏,例如:
#define IDC_STATIC -1
#ifndef & #ifdef & #endif
#ifndef 与 #endif 联合使用,表示如果某个宏未定义,则执行相应的逻辑。例如:
#ifndef IDC_STATIC
#define IDC_STATIC -1
#endif
#ifdef 与 #endif 联合使用,表示如果某个宏已定义,则执行相应的逻辑。例如:
#ifdef IDC_STATIC
// do something here.
#endif
#if & #elif & #else
预处理器中的条件结构,示例代码:
#if IDC_STATIC > 0
#define IDC_STATIC -1
#elif !defined(MSG)
#define MSG "MSG is undefined!"
#elif defined(MSG)
#define MSG "MSG is defined!"
#else
#define MSG "invalid code is here"
#endif
#undef
取消已定义的宏,例如:
#ifdef IDC_STATIC
#undef IDC_STATIC
#endif