1> 文件包含(include)
书写格式:
< > 在系统目录中查找文件
#include <stdio.h>
"" 现在工程目录查找,再去系统目录
#include "stdio.h"
作用:
复制包含文件到当前文件;
2> 宏定义(macro)
执行过程:
预处理时,
将代码中所以[替换内容],替换;
分类:
1> 无参宏
2> 带参宏
#define OFF 0
#define PI 3.14
作用: 定义含义,阅读代码方便;
#define MAX(a, b) ((a) > (b) ? (a) : (b))
#define S(r) (2 * PI * r)
带参宏
3> 条件编译
3.1> #ifdef
#ifdef _头文件名_H_
[编译内容]
#endif
3.2> #ifndef
#ifndef _头文件名_H_
#define _头文件名_H_
[编译内容]
#endif
3.3> #if
#if CFG==1
[编译内容]
#endif
#f 后跟整数常量表达式,非零为真
3.4> #elif
#elif
#if CFG==1
[编译内容1]
#elif CFG==2
[编译内容2]
#else
[编译内容3]
#endif
3.5> #if defined ( )
#if defined (PARM)
[编译内容]
#endif
defined: 是预处理运算符;
如果 #define PARM,则运算结果为1;
如果没定义过 PARM,则运算结果为0;
#define PARM
#if defined (PARM)
[编译内容]
#endif
可以用C中的关系运算符和逻辑运算符
#if !defined(STM32F40_41xxx) && !defined(STM32F427_437xx) && !defined(STM32F429_439xx)
#endif