语法一:
#define 宏名
#ifdef 宏名 //if define
程序块一
#else
程序块二
#endif
第一种形式,如果宏名定义,则执行程序块一,将宏名注释掉则执行程序块二
第二种形式,如果宏名定义了则执行程序块二,将宏名注释掉则执行程序块一
示例(第一种形式)
示例(常用示例)
在配置定时器的时候常常会选择不同的定时器,我们把需要更改的参数设置成宏,
在.h文件中条件编译即可减少操作步骤节省时间。
语法二:
#if 1 //整型常量表达式(为真(>=1)执行程序块一,为假(0)执行程序块二)
程序块一
#else
程序块二
#endif
示例
语法三:
在我们使用一个比较大的项目时候,为防止所调用的函数被重复编译:我们一般在.h文件中加上如下语法,
该语法作用为只对所包含的函数只编译一次
#ifndef __BSP_TIMEBASE_H (如果没有定义这个宏)
#define __BSP_TIMEBASE_H(则定义这个宏)
各种函数
#endif