1. **#include**
- 说明:包含一个源代码文件。预处理器会将指定的文件内容替换到当前位置。
- 用法示例:
```c
#include <stdio.h> // 包含标准输入输出库
#include "myheader.h" // 包含自定义头文件
```
2. **#define**
- 说明:定义宏。创建一个宏,可以在代码中用宏名代替一个字符串。
- 用法示例:
```c
#define PI 3.14159
#define SQUARE(x) (x*x)
```
3. **#undef**
- 说明:取消已定义的宏。取消之前定义的宏。
- 用法示例:
```c
#define MAX 100
...
#undef MAX
```
4. **#if**
- 说明:如果给定条件为真,则编译下面代码。条件通常是宏的定义检查。
- 用法示例:
```c
#if defined(DEBUG)
printf("Debug mode\n");
#endif
```
5. **#ifdef**
- 说明:如果宏已经定义,则编译下面代码。
- 用法示例:
```c
#ifdef DEBUG
printf("Debug mode\n");
#endif
```
6. **#ifndef**
- 说明:如果宏没有定义,则编译下面代码。
- 用法示例:
```c
#ifndef RELEASE
printf("Not in release mode\n");
#endif
```
7. **#elif**
- 说明:如果前面的#if给定条件不为真,当前条件为真,则编译下面代码。用于多个条件的判断。
- 用法示例:
```c
#if defined(WINDOWS)
// Windows specific code
#elif defined(LINUX)
// Linux specific code
#else
// Generic code
#endif
```
8. **#endif**
- 说明:结束一个#if……#else条件编译块。
这些指令在软件开发中非常有用,尤其是在需要根据不同的平台或配置编译不同代码的情况下。