#define
'#define'是最常规的格式,通常是用于大段屏蔽代码的#define 0
#ifndef和#ifdef
主要用于编译开关的设定,例如某些驱动文件是在板卡做好的时候就确定的,需要我们在实际的元器件类型确定后进行选择,因此某些定义,某些文件是用不到的,在定义宏的时候可以选择当前选定的元器件类型,进行驱动选择,即#ifdef ,而#ifndef通常用于防止重复引用,当引用规则变得复杂时,难以确定某个变量是否被引用的时候,可以在被引入的.h文件#define中加入某个用于校验的宏定义,然后在其他想引用的地方进行判断是否已经定义过
例如test.h中有
'#define _check 1'
在其他需要引用test.h的地方无法判断是否已经引用过,则可以加入下面的代码
#ifndef _check
#define XXXXX
#endif
网友评论