Backto C/C++ Index
预处理器
C语言中的预处理器,预处理器是一个小软件,它可以在编译前处理C程序,它的行为是由预处理指令控制的
预处理指令
三个基本指令
1. 宏定义 #define
2. 文件包含 #include
3. 条件编译 #if
然后组合而成下面各种形式
- #ifdef
- #ifndef
- #if defined
- #if !defined
- #elif
- #else
- #endif
- #undef
使用场景
文件保护
保证头文件仅被包含一次
#ifndef _MYHEADFILE_H
#define _MYHEADFILE_H
// .......语句......
#endif // _MYHEADFILE_H
用定义的宏来选择加载的文件
#if defined(IA32)
#define CPU_FILE “ia32.h”
#elif defined(IA64)
#deifine CPU_FILE “ia64.h”
#elif defined(AMD64)
#define CPU_FILE “amd64.h”
#endif
#include CPU_FILE
跨平台: 判断系统加载不同的库文件及相应的处理
#ifdef __linux__
#include <unistd.h>
#elif _WIN32
#include <windows.h>
#define sleep(x) Sleep((x)*1000)
#endif // __linux__
定义变量和小程序
这个很常用, 单开一篇
Ref
- C++ #if #endif #define #ifdef #ifndef #if defined #if !defined详解 : 把 预处理 讲透了, 就是排版太乱了