Skip to content

C 预处理器(Preprocessor)

预处理在编译前对源代码进行宏展开、文件包含与条件编译等处理。

1. 宏定义

c
#define PI 3.14159
#define SQR(x) ((x)*(x)) // 注意副作用

2. 条件编译

c
#if defined(DEBUG)
  #define LOG(...) fprintf(stderr, __VA_ARGS__)
#else
  #define LOG(...)
#endif

3. 文件包含

c
#include <stdio.h>
#include "mylib.h"

4. 宏技巧

  • 字符串化 #x
  • 连接 x##y
  • 可变参数宏 __VA_ARGS__

5. 预定义宏

  • __FILE__, __LINE__, __func__, __DATE__, __TIME__

6. 小结

预处理器强大但易出错,应控制宏复杂度,优先使用函数与内联函数实现逻辑。

本站内容仅供学习和研究使用。