嵌入式C学习笔记之预编译
一、宏定义
- 两种参数的宏
//一、不带参数的宏定义,符号常量的定义
#define PI 3.14
#define PR printf("helloworle\n")
//二、带参数的宏定义
#define MIX(a) a*a
#define MIX2(b) (b)*(b)
二、文件包含
使用一个特定的点h头文件,完成所有相关内容的声明:
1、宏定义
2、结构体、共用体/联合体、枚举类型的定义
3、外部函数的声明
4、全局变量的声明
5、typedef声明
6、其它常用头文件的包含
比如将以上内容包含在c1402.h,将来只需要在c文件中#include "c1402.h"这样的方式来引入头文件
三、条件编译
满足判断条件的进行预编译进去否则会被舍弃
- 条件编译指令1:
#if 条件
若干语句;
#endif
- 条件编译指令2:
#if 条件
若干语句1;
#else
若干语句2;
#endif
- 条件编译指令3:
#if 条件1
若干语句1;
#elif 条件2
若干语句2;
#elif 条件3
若干语句3;
#endif
- 宏定义条件编译
1、#ifdef 宏名
若干语句1
#else
若干语句2
#endif
2、#ifndef 宏名
若干语句
#endif
条件编译指令7:
#ifndef 宏名
若干语句1
#else
若干语句2
#endif